很早之前,我们公司在CentOS上安装的MySQL版本还停留在5.5版本,但后来需要将其升级到最新的5.7版本。这个过程当中竟然遇到很多很多问题,消耗了我非常多的时间。现在我把这些经验分享出来,为需要的小伙伴省去不必要的麻烦。
1. 下载MySQL的5.7版本,主要需要两个文件
下载地址为:http://pan.baidu.com/s/1eQrvAuu
MySQL-server-5.7.4_m14-1.el6.x86_64.rpm
MySQL-client-5.7.4_m14-1.el6.x86_64.rpm
2. 备份数据库文件
mysqldump -uxxx -pxx databasename > databasename.sql
3. 停止mysql服务
service mysql stop
4. 如果刚开始使用的yum安装的MySQL,请使用以下语句进行卸载
yum remove mysql*
5. 使用以下命令删除MySQL旧版本已经存在的文件或者数据,不然MySQL在重新安装后会出现各种纠结的问题
find / -name mysql
ps -ef | grep -i mysql
rm -rf mysql****
kill -9 mysqlid
注意/usr/bin、/usr/share/、/var/lib下有很多mysql开头的文件,都删除掉,还有删除/etc目录下的my.cnf文件
6. 如果刚开始使用rpm安装的MySQL,可以通过以下命令进行删除
rpm -qa | grep -i name
rpm -e mysqlxxxxx
7. 卸载删除干净后,再使用以下命令对下载的server和client进行安装
rpm -ivh mysqlxxx
8. 安装成功后,可能会出现以下问题,那么看看下面有没有你遇到的
mysql error 1524
error 1045(28000)
error 1820
使用mysql -uroot -proot登录不了
对应的方法为:
1的解决方案为:在my.cnf文件中的[mysql]下增加“skip-grant-tables”,然后重新启动MySQL服务
2的解决方案为:在my.cnf文件中的[mysql]下将“user=mysql”注释掉
3的解决方案为:设置一下用户的密码
mysql> create database ttt; ERROR 1820 (HY000): You must SET PASSWORD before executing this statement mysql> set password = password("root"); Query OK, 0 rows affected (0.00 sec)
4的解决方案为:MySQL初始化了密码,在root目录下找.mysql_secret文件,注意文件是隐藏的,可直接通过vim .mysql_secret进行编辑。