Step1: 检测系统是否自带安装mysql
# yum list installed | grep mysql
Step2: 删除系统自带的mysql及其依赖
# yum -y remove mysql-libs-5.1.73-8.el6_8.x86_64
Step3: 给CentOS添加rpm源,并且选择较新的源
说明:先安装wget,过程中选择y,直至安装结束。
# yum install wget
# wget http://repo.mysql.com/mysql-community-release-el6-7.noarch.rpm
# yum localinstall mysql-community-release-el6-7.noarch.rpm
# yum repolist all | grep mysql
需要修改/etc/yum.repos.d/mysql-community.repo的文件,例如需要启动Mysql5.7,则将5.7的enabled=1,将5.6的enabled=0即可。
修改完后确认最终版本:
# yum repolist enabled | grep mysql
Step4: 安装mysql 服务器
# yum install mysql-community-server
Step5: 启动mysql
# service mysqld start
查看root密码:
# grep "password" /var/log/mysqld.log
2018-01-12T23:11:36.759839Z 1 [Note] A temporary password is generated for root@localhost: T%Iz9ism?>d6
修改root密码:用鼠标右键复制随机密码,输入密码时,右键粘贴就行,不用一个个手输
# mysql -u root -p
Enter password:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
mysql> exit;
Step6: 设置root用户可以本地和远程IP被访问
# mysql -uroot -p
mysql> grant all privileges on *.* to root@"%" identified by '密码';
mysql> grant all privileges on *.* to root@"localhost" identified by '密码';
mysql> flush privileges;
说明:创建远程登录账户
mysql> grant all privileges on *.* to '用户名'@"%" identified by '密码';
mysql> flush privileges;
mysql> exit;
Step7: 防火墙修改,命令:
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# /etc/rc.d/init.d/iptables save
# service iptables restart
Step8: 查看mysql是否自启动,并且设置开启自启动,命令:
# chkconfig --list | grep mysqld
# chkconfig mysqld on
Step9: 修改连接数,命令:(vi命令说明)
# mysql –uroot -p
//默认连接数是151,要改为3000
mysql> show variables like '%max_connections%';
mysql> exit;
# vim /etc/my.cnf
i //(i:在当前字符前插入文本)
//在[mysqld]部分添加:
max_connections = 3000
ESC
:wq //(:wq:在命令模式下,执行存盘退出操作)
# mysql –uroot -p
mysql> show variables like '%max_connections%';
mysql> exit;
Step10:修改字符集编码为UTF8
//修改字符集编码为UTF8,最简单的完美修改方法,修改mysql的/etc/my.cnf 文件中的字符集键值
# vim /etc/my.cnf
//在[mysqld]部分添加:
character-set-server=utf8
//修改好之后重启mysqld服务:
service mysqld restart
//查看修改结果:
mysql> show variables like "%character%";
Step10: 犯的错误
说明:忘记root密码,修改root密码和权限,命令
# service mysqld stop
# mysqld_safe --skip-grant-tables &
# mysql
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('新密码') where user='root';
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
mysql> exit;
# service mysqld start