Redhat将mysql升级到5.7

来源:互联网 发布:魔法王座麒麟进阶数据 编辑:程序博客网 时间:2024/05/22 02:03

mysql5.7.17升级

在此之前mysql服务器已经安装设置好了,只是正常使用而已。现在扫描软件检测出mysql的漏洞所以要进行升级。我们可以在mysql官网下载最新版的数据库,从而获得最新的更正、补丁,避免服务器上的漏洞,减少安全隐患。

在mysql官网下载最新的mysql安装包:

https://dev.mysql.com/downloads/mysql/

下载内容如下:

mysql-community-common-5.7.17-1.el6.x86_64.rpmmysql-community-libs-5.7.17-1.el6.x86_64.rpmmysql-community-server-5.7.17-1.el6.x86_64.rpmmysql-community-client-5.7.17-1.el6.x86_64.rpmmysql-community-server-5.7.17-1.el6.x86_64.rpmmysql-community-devel-5.7.17-1.el6.x86_64.rpm

备份mysql数据库

使用mysqldump来备份mysql数据库:

mysqldump -u <db管理员用户名> -p mydb > 2017-02-17_mydb.sql

妥善保管这些数据库文件,以免丢失造成不必要的损失。

还有一种备份方式,直接备份数据库文件:

mv /var/lib/mysql/mydb /var/lib/mydb_2017-02-17_bak

删除老的数据库版本

使用mysql –version查看当前数据库的版本。

删除mysql数据库:

rpm -qa|grep mysql | xargs rpm -e --nodeps

再次查询mysql是否删除完成:

rpm -qa|grep mysql

安装新本的mysql数据库

1、使用yum 或者rpm 安装mysql数据库的rpm包,按顺序依次安装:

yum install mysql-community-common-5.7.17-1.el6.x86_64.rpmyum install mysql-community-libs-5.7.17-1.el6.x86_64.rpmyum install mysql-community-server-5.7.17-1.el6.x86_64.rpmyum install mysql-community-client-5.7.17-1.el6.x86_64.rpmyum install mysql-community-server-5.7.17-1.el6.x86_64.rpmyum install mysql-community-devel-5.7.17-1.el6.x86_64.rpm

2、修改mysql root用户的密码
以下通过两种方式讲述root密码修改方式:
(1)通过命令修改
mysql5.7默认root用户的密码不为空,使用mysql -uroot -p连接失败,对于root用户,5.7已经设置默认密码,存放在/root/.mysql_secret文件中:

[root@quota ~]# cat /root/.mysql_secret # Password set for user 'root@localhost' at 2017-02-17 10:23:53 k(heCR:wAUtY

以初始密码登录,通过 alter user ‘root’@’localhost’ identified by ‘123456’ 命令,修改 root 用户的密码为 123456,然后退出,重新以root用户和刚设置的密码进行登录即可。

(2)通过跟新表修改密码

1、修改vim /etc/my.cnf,在[mysqld]小结添加:skip-grant-tables=1设置mysql连接不需要密码验证。2、重启mysql服务:service mysqld restart3、使用root用户登录:mysql -uroot -p 4、切换到mysql数据库,跟新user表中root用户的密码:update user set authentication_string = '123456', password_expired = 'N', password_last_changed = now() where user = 'root';在5.7之前的版本中密码字段为password,5.7版的密码字段为authentication_string5、退出mysql,修改/etc/my.cnf,删除skip-grant-tables=1字段6、重启mysql服务:service mysqld restart。再使用新密码登录。

升级mysql数据库及表

1、首先重置mysql数据库目录,删除之前的数据库目录:
mv /var/lib/mysql /var/lib/mysql_20170217,再执行以下命令:

/usr/bin/mysql_install_db --user=mysql --datadir=/var/lib/mysql

恢复用户数据库

1、先创建数据库用户
mysql -uroot -p,连接数据库并创建dbuser用户:

CREATE USER dbuser@localhost IDENTIFIED BY 'dbuser';mysql> CREATE USER dbuser@localhost IDENTIFIED BY 'dbuser';Query OK, 0 rows affected (0.00 sec)

设置用户权限:

mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> update user set host='%' where user='dbuser';Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0%表示所有服务器均可连接。

2、创建数据库
mysql -udbuser -p 连接数据库,使用dbuser创建数据库:

CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;注:请注意数据库的编码方式,防止出现乱码。

3、恢复备份的用户数据
退出数据库连接,恢复表结构及表数据:

[root@quota mysql]# mysql -uroot -p pac < /tmp/20170216_pac-db.sql Enter password: 

数据库恢复成功。

设置mysqld服务自启动

设置mysql开机自启动:

[root@quota pac]# chkconfig mysqld on# chkconfig --list mysqldmysqld  0:off   1:off   2:on    3:on    4:on    5:on    6:off

重启web服务器测试连接

成功!!!

0 0