centOS 6.5下升级mysql,从5.1升级到5.7

一、备份数据库,升级MySQL一般不会丢失数据,但保险起见,咱们须要作这一步。输入命令:mysql

mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql

二、中止MySQL服务,输入命令:sql

service mysqld stop

三、 卸载旧版MySQL,输入命令:数据库

yum remove mysql mysql-*

执行过程当中会询问你是否移除,此时输入“Y”安全

查看已安装的软件:ide

rpm -qa¦grep mysql

卸载mysql:this

yum remove mysql mysql-server mysql-libs compat-mysql51

四、移除命令执行后,可再看看是否有残余的mysql,输入命令:code

yum list installed | grep mysql

若是有,可输入命令删除:server

yum remove mysql-libs

五、下载安装最新的rpm文件。事件

这步要看你须要什么文件,我安装的是:mysql57-community-release-el6-7.noarch.rpm(若是提早获得了这个文件,第6步能够使用yum localinstall mysql57-community-release-el6-7.noarch.rpm从本地安装)ssl

rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

六、安装MySQL,输入命令(过程当中问询是否yes,一路y下去):

yum install mysql-community-server

七、安装完成后,输入命令查看MySQL版本号:

mysql -V

8 、启动MySQL,输入命令:

service mysqld start

第一次启动比较慢,由于它会本身作初始化,耐心等待便可。

若是启动失败,提示“MySQL Daemon failed to start”,能够尝试先初始化mysql,输入命令:mysqld --initialize。

若是初始化提示:

2015-12-22T07:49:45.386095Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2015-12-22T07:49:45.388125Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2015-12-22T07:49:45.388153Z 0 [ERROR] Aborting

说明数据文件夹已被建立,直接删除,让mysql本身建立便可,输入命令:rm -rf /var/lib/mysql

删除后,注意:而后不须要再初始化了,直接启动mysql,它会本身初始化,输入命令:

service mysqld start

九、进入mysql后,第一件事件就是要你改默认密码。mysql 5.7之后,系统自动生成随机的密码,我操做时,没登陆上,切换mysql到安全模式启动,本身去修改便可(安全模式修改密码,见另外一篇文章:MySQL忘记密码,或:root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案)。

[root@c12 mysql57]# ./bin/mysql -u root -p

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    mysql> alter user root identified by 'root';
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

使用mysqladmin总算能改了

[root@c12 mysql57]# ./bin/mysqladmin -u root -p password
    Enter password: 
    New password: 
    Confirm new password: 
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

    mysql> select version();
    +-----------+
    | version() |
    +-----------+
    | 5.7.8-rc  |
    +-----------+
    1 row in set (0.00 sec)

十、设置mysql为开机启动

chkconfig --list             显示服务列表

若是看到mysqld的服务,而且3,4,5都是on的话则成功,若是是off,则键入

chkconfig --level 345 mysqld on

reboot重启电脑

netstat -na | grep 3306,若是看到有监据说明服务启动了。也能够用:service mysqld status看状态