首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL5.7 通过逻辑备份迁移到GreatSQL注意事项

    * GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、背景概述 在将数据库从MySQL 5.7迁移到GreatSQL8.0.32时,由于数据量较小且关注安全性,决定使用mysqldump执行逻辑备份,并将数据导入GreatSQL。但在备份时采用了备份全库(--all-databases)的方式,在导入GreatSQL后,修改用户密码时出现错误。这是因为mysqldump备份时包括了mysql系统库,而MySQL 5.7中的mysql系统库采用了MyISAM存储引擎,而GreatSQL的mysql系统库采用了InnoDB存储引擎。因此,在导入数据后,部分系统表被覆盖,导致了错误的出现。 二丶问题复现 1.部署2个实例 部署MySQL 5.7与GreatSQL 8.0.32,具体步骤省略 2.MySQL 创建测试数据 通过sysbench创建10张表 $ sysbench lua/oltp_read_write.lua --mysql-db=sysbench --mysql-host=192.168.1.162 --mysql-port=6003 --mysql-user=root --mysql-password=greatsql --tables=10 --table_size=5000 --report-interval=2 --threads=10 --time=600 --mysql-ignore-errors=all prepare 3.MySQL 创建测试用户 mysql> create user test1@'%' identified by 'greatsql'; Query OK, 0 rows affected (0.01 sec) mysql> grant all on *.* to test1@'%'; Query OK, 0 rows affected (0.01 sec) 4.MySQL进行全库备份 $ /mysql57/svr/mysql/bin/mysqldump -uroot -pgreatsql -h192.168.1.162 -P6003 --single-transaction --set-gtid-purged=OFF --all-databases > all.sql 5.GreatSQL导入备份数据 greatsql> source all.sql; 在导入过程中有如下报错,从这里可以看出导入时有系统表被导入,并且部分系统表不支持被修改:

    01

    Access denied for user 'root'@'localhost' (using password: NO)

    初次安装mysql,net start mysql,然后输入mysql -u root -p,出现enter password,我直接点击回车,结果出现如果下错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。网上看了很多方法,都是千篇一律的,没有解决我的问题 使用:set password for 'root'@'localhost' =password(''); flush privileges; 还是不行,当输入set password for 'root'@'localhost' =password('');时就出现no database seleced错误 #1.停止mysql数据库 /etc/init.d/mysqld stop  #2.执行如下命令 mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  #3.使用root登录mysql数据库 mysql -u root mysql  #4.更新root密码 mysql> update user set authentication_string=password('root') where user='root'; #5.刷新权限  mysql> FLUSH PRIVILEGES;  #6.退出mysql mysql> quit  #7.重启mysql /etc/init.d/mysqld restart  #8.使用root用户重新登录mysql mysql -u root -p

    01
    领券