服务器由于没有更新yum源 之前装的mysql 版本还是5.5 版本的,最近打算升级为最新的mysql版本。先在虚拟机上实验了下,现在正式在ecs 上操作。其实我的本意不是升级而是卸载掉重新安装,所以我先开了台按量付费的服务器进行内网备份操作,没有用自带的备份工具而是用Navicat备份的,因为之前用自带的备份还原不知道为什么报错而且看生成的sql不全。
查看有没有安装过:
yum list installed mysql*
rpm -qa | grep mysql*
查看有没有安装包:
yum list mysql*
卸载mysql
yum -y remove mysql*
如果是rpm安装的话:
rpm -e mysql
按照之前文章介绍的操作步骤,刚开始下到el7版本的了,重新下载el6竟然很慢了。
rpm 安装完后,用service mysqld start 成功启动。我在/var/log/mysqld.log 并没有找到root 临时密码, 于是在my.cnf 中加入skip-grant-tables 再用命令输入mysql 成功进入,alter user 'root'@'localhost' identified by 'mYsqL$%123'; 这种不行会报一个错。但是可以用UPDATE user SET authentication_string= password ( 'new-password' ) WHERE User = 'root' ;
修改成功后我用 Navicat 远程连接成功,可是发现竟然之前的数据库都在,直接右键打开表也有数据,想来上面的改密码操作白做了,因为我是改的之前一样的密码。
可是运行select 查询 竟然报Table 'performance_schema.session_status' doesn't exist 后来知道需要用命令升级一下
mysql_upgrade -u root -p --force
再重启mysql
之后就OK 了。