CentOS6.5下RPM方式安装MySQL5.6

时间:2022-10-11 17:12:37

系统版本:centos6.5 64位操作系统

安装环境:使用shell 命令

工具:WIMscp 和 putty

此次安装在桌面环境下,使用shell命令进行安装,下载安装包为:
MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle

以下是按照步骤。如果有一些包的名称不一致,请忽略。

a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称 #)

[root@localhost ~]# rpm -qa | grep -i mysql

mysql-libs-5.1.66-2.el6_3.x86_64

[root@localhost ~]# yum -y remove mysql-libs*

b. 选择Linux对应的RPM包,如下:

[root@localhost rpm]# ll

total 74364

-rw-r–r–. 1 root root 18442536 Dec 11 20:19 MySQL-client-5.6.15-1.el6.x86_64.rpm

-rw-r–r–. 1 root root 3340660 Dec 11 20:06 MySQL-devel-5.6.15-1.el6.x86_64.rpm

-rw-r–r–. 1 root root 54360600 Dec 11 20:03 MySQL-server-5.6.15-1.el6.x86_64.rpm


这里,我是直接把MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle用WIMscp工具复制到linux服务端的。
复制过去后,使用解压命令:

tar –xvf file.tar 解压 tar包


c. 安装MySQL

[root@localhost rpm]# rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm

[root@localhost rpm]# rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm

[root@localhost rpm]# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm

复制配置文件位置(这一步我没做)

[root@localhost rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf


这里遇到一个问题:CentOS下安装官方RPM包的MySQL后,/etc/目录下找不到my.cnf

我的解决方法是直接在/etc/目录下建立一个空的文件。

touch my.cnf


d. 初始化MySQL及设置密码

[root@localhost rpm]# /usr/bin/mysql_install_db

[root@localhost rpm]# service mysql start

[root@localhost rpm]# cat /root/.mysql_secret #查看root账号密码

# The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl

[root@localhost ~]# mysql -uroot –pqKTaFZnl

mysql> SET PASSWORD = PASSWORD('123456');#设置密码为123456

mysql> exit

[root@localhost ~]# mysql -uroot -p123456

e. 远程登陆用户设置

mysql> use mysql;

mysql> select host,user,password from user;

mysql> update user set password=password('123456') where user='root';

mysql> update user set host='%' where user='root' and host='localhost';

mysql> flush privileges;

mysql> exit

f. 设置开机自启动

[root@localhost ~]# chkconfig mysql on

[root@localhost ~]# chkconfig –list | grep mysql

mysql 0:off 1:off 2:on3:on4:on5:on6:off

g. MySQL的默认安装位置

/var/lib/mysql/ #数据库目录

/usr/share/mysql #配置文件目录

/usr/bin #相关命令目录

/etc/init.d/mysql #启动脚本

h. 修改字符集和数据存储路径

配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.
[html] view plaincopy在CODE上查看代码片派生到我的代码片
[client]
password= 123456
port= 3306
default-character-set=utf8
[mysqld]
port= 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
#(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)
lower_case_table_names=1
#(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
max_connections=1000
[mysql]
default-character-set = utf8

可查看字符集

[html] view plaincopy
show variables like '%collation%';
show variables like '%char%';

I.如果想远程连接登录mysql则需要:授权,并关闭防火墙。

1.授权;在服务端进入mysql,输入以下命令

[sql] view plaincopy  
[GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里是你的密码' WITH GRANT OPTION;]
OR


[sql] view plaincopy
[GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;]
区别在于访问时是否需要写密码。

这句的作用是将所有的用户名,都设置能远程访问该mysql中所有的表,如果不想都放开,可以根据这个规则,来设置.grant 权限1,权限2,…权限n on 数据库名.表名 to用户名@用户地址 identified by‘口令’.

2.关闭防火墙

[html] view plaincopy  
service iptables stop 关闭命令
chkconfig iptables off 永久关闭防火墙
两个命令同时运行,运行完成后查看防火墙关闭状态


[html] view plaincopy
service iptables status

到此,mysql就安装完成并配置成功了


题外问题:

--------- -- 添加用户
-- grant all on *.* to 'devuser'@'localhost' identified by 'dev#1234' with grant option;
-- FLUSH PRIVILEGES;

-- -- 给用户赋权限
-- grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
-- GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON my_crm.* TO dev@'%' identified by 'dev'; ;
-- FLUSH PRIVILEGES;


-- 验证
-- select * from mysql.`user`