MySQL云数据库5.5导入到自建MySQL数据库5.7

有一个MySQL云数据库,版本比较老,是5.5.

需要在线下搭建一个测试环境,所以需要将数据还原到一个自建MySQL数据库内。

5.5已经很难找到了,所以安装了一个5.7.

云数据库设置的备份,使用的是全复制文件方法。

还原数据需要使用xtrabackup进行。因为版本差2个小版本,差别较大,直接恢复有问题。

这里选择使用mysqldump进行备份,然后使用mysql命令导入数据的方式。

mysqldump很顺利。

安装MySQL5.7让一个同事帮忙做的。遗憾的是,他把密码忘记了。

于是先要重置root密码。

我采用的方法简单粗暴,跳过权限设置启动服务,登录进去更新root账户数据,退出重启服务。

 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]下面添加一行

skip-grant-tables

保存退出。

重启服务systemctl restart mysql.service

另外还有一个方法,就是使用默认账号登录去修改root账户。

默认账户信息使用如下命令查看:

cat /etc/mysql/debian.cnf

其中会有一个名为debian-sys-maint的账户

mysql -uroot

进入mysql环境。执行如下:

use mysql ;

UPDATE mysql.user SET authentication_string=PASSWORD('123456789'), PLUGIN='mysql_native_password' WHERE USER='root';

exit ;

重启服务systemctl restart mysql.service

如果想要在其他主机使用root连接这个mysql实例,那么还需要更新host字段,例如:

UPDATE mysql.user SET authentication_string=PASSWORD('123456789'), PLUGIN='mysql_native_password' ,host='%' WHERE USER='root';

这里提醒,字段PLUGIN初始值是auth_socket。如果不更新为mysql_native_password,则不能使用账户和密码认证登录。

最后使用root恢复数据,例如:

mysql -uroot -p 数据库名 < 备份文件名

你可能感兴趣的:(MySQL,1024程序员节,重置root密码)