1、下载新的mysql
http://mirrors.sohu.com/mysql/MySQL-5.7/
参考http://blog.youkuaiyun.com/qq_33663251/article/details/53671017
选择mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
2、手动备份所有的数据库
3、停止数据库服务
service mysqld stop
查看数据库是否在运行命令
查看是否有在运行
ps aux |grep mysqld
/etc/init.d/mysqld status;
查看具体的详细参数
mysql -uroot -p -e "show status\G;"
4、卸载干净原来的mysql
https://www.linuxidc.com/Linux/2014-12/110266.htm
如果是源代码安装的主要是删除所有文件
find / -name mysql
ps -ef | grep -i mysql
rm -rf mysql****
kill -9 mysqlid
如果你是rpm安装的,可以通过以下命令进行删除
rpm -qa | grep -i name
rpm -e mysqlxxxxx
5、后面的安装参考
http://blog.youkuaiyun.com/qq_33663251/article/details/53671017
首先关闭MySQL服务 :service mysqld stop
用mysqld_safe重启服务,执行:mysqld_safe --user=root --skip-grant-tables --skip-networking &如果提示mysqld_safe A mysqld process already exists。执行ps -A|grep mysql显示当前进程,然后执行
kill -9 xxxx xxxx填上一步你查出的进程序号。然后执行就没问题了。
网上的很多说法是执行update user set password=PASSWORD('12345') where user='root';
我试了但是提示没有password这个字段,百度了下原来5.7版本后的 password 字段变成了authentication_string,执行update user set authentication_string=PASSWORD('12345') where user='root';果然可以。
然后 执行:flush privileges;
最后 :quit
再次登录 OK
然后我想让root在其他主机上也能链接到此数据库
执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION; 提示 You must reset your password ,意思是让我先重设一下密码(what the xxxx)。好吧,接着来。
密码重置,一样先关闭mysql 服务,依次执行:
mysqld_safe --user=root --skip-networking &
mysql -u root -p
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
quit;
注:新密码不能太简单,不然会提示密码过于简单,最好包含大小写字母,数字,特殊字符。
一切OK
登录mysql
执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
重启mysql服务:service mysqld restart
测试通过。。。