mysql 之 版本升级,从5.5升级到5.7

  • Post author:
  • Post category:mysql


升级mysql版本,可以通过下载官网的安装软件来实现,也可以通过按照mysql的yum源安装实现。

首先介绍一下使用安装yum源的方法(操作系统是centos6.4 64位):

1、首先到官网 http://dev.mysql.com/downloads 找到对应的reposit安装源下载包,安装这个软件包之后,就可以找到mysql对应的软件版本了,我找到的yum安装源软件包地址如下:

http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

2、登录服务器,下载并按照这个yum源:

wget

http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

rpm -ivh mysql57-community-release-el6-8.noarch.rpm

3、查看可安装的mysql版本:

[root@host-172-10-2-83 software]# yum repolist all|grep mysql

mysql-connectors-community        MySQL Connectors Community      enabled:    21

mysql-connectors-community-source MySQL Connectors Community – So disabled

mysql-tools-community             MySQL Tools Community           enabled:    35

mysql-tools-community-source      MySQL Tools Community – Source  disabled

mysql-tools-preview               MySQL Tools Preview             disabled

mysql-tools-preview-source        MySQL Tools Preview – Source    disabled

mysql55-community                 MySQL 5.5 Community Server      disabled

mysql55-community-source          MySQL 5.5 Community Server – So disabled

mysql56-community                 MySQL 5.6 Community Server      disabled

mysql56-community-source          MySQL 5.6 Community Server – So disabled

mysql57-community                 MySQL 5.7 Community Server      enabled:    82

mysql57-community-source          MySQL 5.7 Community Server – So disabled

4、使用yum-config-manager命令启用或者禁用相应mysql的版本:


yum-config-manager


--disable mysql57-community

yum-config-manager


--enable mysql57-community

例如,上面的命令分别是禁用额5.7版本,启用了5.7版本

5、直接使用yum install安装:

yum install mysql-community-server -y

下面介绍第二种方法,就是下载安装文件的方法:



1.下载Linux的5.7版本

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar

下载完成后,解压



2.备份数据库文件

mysqldump -uxxx -pxx databasename > databasename.sql



3.停止mysql服务

service mysqld stop



4.刚开始使用的yum安装的,使用以下语句进行卸载

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安装的,可以通过以下命令进行删除

rpm -qa | grep -i name
rpm -e mysqlxxxxx



7.卸载删除干净后,再使用以下命令对下载的server、client、devel、lib进行安装

yum localinstall mysql-community-common-5.7.11-1.el6.x86_64.rpm mysql-community-client-5.7.11-1.el6.x86_64.rpm mysql-community-server-5.7.11-1.el6.x86_64.rpm mysql-community-libs-5.7.11-1.el6.x86_64.rpm  mysql-community-devel-5.7.11-1.el6.x86_64.rpm



8.安装成功后,可能会出现以下问题,那么看看下面有没有你想要的





  1. mysql error 1524








  2. error 1045(28000)








  3. error 1820








  4. 使用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就会关联到

在我这里很奇怪,没有.mysql_secret 文件,因此只有使用下面的方法:

先停止mysql服务:

service mysqld stop

使用–skip-grant-tables忽略密码启动:

mysqld_safe –skip-grant-tables &

更改密码:



update mysql.user set authentication_string=password(‘mysql’) where user=’root’ and Host = ‘localhost’;


flush privileges;


*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了


而是将加密后的用户密码存储于


authentication_string


字段

杀死mysqld:   killall -TERM mysqld

启动mysqld服务:  service mysqld start

进入mysql,5.7版本在首次登录的时候它还是要求修改密码,因此执行下面的命令:



ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Mysql_123’;


flush privileges;




注意,更改后的密码也有复杂度要求,应该是需要字母、数字、符号的组合,并且是8位以上。

转载于:https://blog.51cto.com/yuweibing/1761351


关闭菜单