升级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.安装成功后,可能会出现以下问题,那么看看下面有没有你想要的
mysql error 1524
error 1045(28000)
error 1820
使用mysql -uroot -proot登录不了
对应的方法为:
在my.cnf文件中的[mysql]下增加“skip-grant-tables”,然后重新启动mysql服务
在my.cnf文件中的[mysql]下将“user=mysql”注释掉
该问题需要设置一下用户的密码
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)
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