本文基于Centos 6.5 和MySQL 5.7.22
一、完整卸载之前安装的MySQL服务
1.停止MySQL服务
# service mysqld stop
2.卸载MySQL服务
查看已安装的服务
# rpm -qa | grep mysql
逐个卸载已安装的MySQL服务
# rpm -e --nodeps mysql-community-server-5.7.22-1.el6.x86_64
3.删除安装文件
根据名称查找已安装的MySQL文件目录
# find / -name mysql
逐个删除文件目录
# rm -rf /usr/share/mysql
二、yum方式安装MySQL
1.下载并安装MySQL服务yum安装依赖文件
第一个坑出现了,通过wget方式从官网直接下载下不动,只好windows下载rpm文件,通过xftp上传到linux系统上。
mysql57-community-release-el6-11.noarch.rpm
2.安装yum依赖文件
# yum install -y mysql57-community-release-el6-11.noarch.rpm
3.安装MySQL服务
# yum install -y mysql-server mysql mysql-devel
4.正常模式启动MySQL服务,初始化数据库
第二个坑出现了,没有初始化数据库就以安全模式启动MySQL服务,设置密码,会发现数据库mysql不存在
// 启动mysql服务进行数据库初始化
# service mysqld start
// 为了下一步操作,停止mysql服务
# service mysqld stop
5.安全模式启动MySQL服务设置登录密码
第三个坑出现了,MySQL5.7对密码进行严格的校验,建议密码包含大小写字母、数字和特殊字符
// 安全模式启动mysql
# mysqld_safe --skip-grant-tables&
// 免密码登录
# mysql -uroot -p
第四个坑出现了,MySQL更改了密码字段的名称,不再是password而是authentication_string
// 更改登录密码
> update mysql.user set authentication_string = password('********') where User = 'root' and Host = 'localhost';
// 刷新权限
> flush privileges;
// 退出
> quit
重启MySQL服务,用上面设置的的密码登录
# servcie mysqld restart
# mysql -uroot -p
> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
登录时没有问题了,不过不能操作数据库,报了上面的错误,这是第五个坑,需要再重置密码
// 此处注意要和上面的密码保持一致
> set password for 'root'@'localhost' = password('********');
> flush privileges;
再次登录系统就可以进行正常的数据库操作了。
三、MySQL设置开机启动和远程登录
1.设置开机启动
# chkconfig mysqld on
2.本地登录MySQL服务,设置远程登录
# mysql -uroot -p
> update mysql.user set Host = '%' where User = 'root'
> flush privileges
不要忘了防火墙开启3306端口。