最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL5.7 如何通過邏輯備份遷移到GreatSQL及注意事項

 更新時間:2024年06月07日 16:19:19   作者:GreatSQL  
在將數(shù)據(jù)庫從MySQL 5.7遷移到GreatSQL8.0.32時,由于數(shù)據(jù)量較小且關注安全性,決定使用mysqldump執(zhí)行邏輯備份,并將數(shù)據(jù)導入GreatSQL,這篇文章主要介紹了MySQL5.7 通過邏輯備份遷移到GreatSQL注意事項,需要的朋友可以參考下

一、背景概述

在將數(shù)據(jù)庫從MySQL 5.7遷移到GreatSQL8.0.32時,由于數(shù)據(jù)量較小且關注安全性,決定使用mysqldump執(zhí)行邏輯備份,并將數(shù)據(jù)導入GreatSQL。但在備份時采用了備份全庫(--all-databases)的方式,在導入GreatSQL后,修改用戶密碼時出現(xiàn)錯誤。這是因為mysqldump備份時包括了mysql系統(tǒng)庫,而MySQL 5.7中的mysql系統(tǒng)庫采用了MyISAM存儲引擎,而GreatSQL的mysql系統(tǒng)庫采用了InnoDB存儲引擎。因此,在導入數(shù)據(jù)后,部分系統(tǒng)表被覆蓋,導致了錯誤的出現(xiàn)。

二、問題復現(xiàn)

1.部署2個實例

部署MySQL 5.7與GreatSQL 8.0.32,具體步驟省略

2.MySQL 創(chuàng)建測試數(shù)據(jù)

通過sysbench創(chuàng)建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 創(chuàng)建測試用戶

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導入備份數(shù)據(jù)

greatsql> source all.sql;

在導入過程中有如下報錯,從這里可以看出導入時有系統(tǒng)表被導入,并且部分系統(tǒng)表不支持被修改:

6.GreatSQL執(zhí)行修改用戶密碼操作

greatsql> alter user test1@'%' identified by 'abc123';
ERROR 1785 (HY000): Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.

此時報錯違反了 GTID 的一致性,由于導入數(shù)據(jù)后有部分MySQL庫下的系統(tǒng)表被修改成了MyISAM存儲引擎,并且修改用戶密碼會涉及多張系統(tǒng)表的更新,在一個 SQL 語句中既對非事務表進行了更新操作,又對事務表進行了更新操作,這違反了 GTID 的一致性規(guī)則。

7.GreatSQL執(zhí)行查看庫表信息的操作

當執(zhí)行刷新權限的操作后,執(zhí)行下面的SQL時也會報錯

greatsql> flush privileges;
Query OK, 0 rows affected, 11 warnings (0.00 sec)
greatsql> show tables;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
greatsql> show databases;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

mysql.infoschema用戶是MySQL8.0中引入的,mysql.infoschema用戶是MySQL數(shù)據(jù)庫的系統(tǒng)用戶,用來管理和訪問系統(tǒng)自帶實例information_schema;導入MySQL系統(tǒng)庫后,user表被覆蓋為MySQL5.7的user表,此用戶不存在,因此在刷新權限后訪問元數(shù)據(jù)信息時報錯;

8.查看mysqldump備份了哪些系統(tǒng)表

$ grep 'CREATE TABLE ' all.sql
......
CREATE TABLE `innodb_index_stats` (
CREATE TABLE `innodb_table_stats` (
CREATE TABLE `ndb_binlog_index` (
CREATE TABLE `plugin` (
CREATE TABLE `proc` (
CREATE TABLE `procs_priv` (
CREATE TABLE `proxies_priv` (
CREATE TABLE `server_cost` (
CREATE TABLE `servers` (
CREATE TABLE IF NOT EXISTS `slave_master_info` (
CREATE TABLE IF NOT EXISTS `slave_relay_log_info` (
CREATE TABLE `slave_worker_info` (
CREATE TABLE `tables_priv` (
CREATE TABLE `time_zone` (
CREATE TABLE `time_zone_leap_second` (
CREATE TABLE `time_zone_name` (
CREATE TABLE `time_zone_transition` (
CREATE TABLE `time_zone_transition_type` (
CREATE TABLE `user` (
CREATE TABLE IF NOT EXISTS `general_log` (
CREATE TABLE IF NOT EXISTS `slow_log` (
......

???????三、問題解決

1、可以初始化一個新的GreatSQL實例,備份這個新的GreatSQL實例的MySQL系統(tǒng)庫

$ /greatsql/svr/mysql/bin/mysqldump -uroot -pgreatdb -h127.0.0.1 -P6001  --single-transaction --set-gtid-purged=OFF -B mysql > mysql.sql

???????2、導入mysql系統(tǒng)庫的備份文件到GreatSQL實例中

greatsql> source mysql.sql;

3、導入完成后,刷新權限

greatsql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

4.執(zhí)行創(chuàng)建用戶測試

greatsql> create user test1@'%' identified by 'greatsql';
Query OK, 0 rows affected (0.01 sec)
greatsql> grant all on *.* to test1@'%';
Query OK, 0 rows affected (0.01 sec)

5.執(zhí)行 show 操作

greatsql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| sys_audit          |
| sysbench           |
| test               |
+--------------------+
7 rows in set (0.01 sec)
greatsql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test           |
+----------------+
1 row in set (0.01 sec)

???????四、總結(jié)

1.在從MySQL5.7向GreatSQL或者MySQL8.0 通過邏輯備份遷移時,不要備份系統(tǒng)庫mysql,避免發(fā)生問題;

2.用戶及權限可以單獨進行備份然后導入到GreatSQL或者MySQL8.0中。

關于 GreatSQL

GreatSQL是適用于金融級應用的國內(nèi)自主開源數(shù)據(jù)庫,具備高性能、高可靠、高易用性、高安全等多個核心特性,可以作為MySQL或Percona Server的可選替換,用于線上生產(chǎn)環(huán)境,且完全免費并兼容MySQL或Percona Server。

相關鏈接: GreatSQL社區(qū)GiteeGitHubBilibili

GreatSQL社區(qū):

社區(qū)博客有獎征稿詳情:https://greatsql.cn/thread-100-1-1.html

到此這篇關于MySQL5.7 通過邏輯備份遷移到GreatSQL注意事項的文章就介紹到這了,更多相關MySQL5.7邏輯備份遷移到GreatSQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql 8.0.17 安裝與使用教程圖解

    mysql 8.0.17 安裝與使用教程圖解

    這篇文章主要介紹了mysql 8.0.17 安裝與使用教程圖解,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Mysql常用函數(shù)之Rank排名函數(shù)詳解

    Mysql常用函數(shù)之Rank排名函數(shù)詳解

    這篇文章主要介紹了Mysql常用函數(shù)之Rank排名函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 6G數(shù)據(jù)庫的導入 報各種錯誤的解決辦法

    6G數(shù)據(jù)庫的導入 報各種錯誤的解決辦法

    今天看到一高人的mysql數(shù)據(jù)庫達到了6G左右,導入都是個問題,上傳也挺麻煩的,這里特分享下,方便需要的朋友
    2013-01-01
  • MySQL實時監(jiān)控工具orztop的使用介紹

    MySQL實時監(jiān)控工具orztop的使用介紹

    這篇文章主要給大家介紹了MySQL實時監(jiān)控工具orztop的使用,文中給出了詳細的介紹,相信對大家的學習具有一定的參考借鑒價值,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • centOS7安裝MySQL數(shù)據(jù)庫

    centOS7安裝MySQL數(shù)據(jù)庫

    本文給大家簡單介紹了如何在centOS7下安裝MySQL5.6數(shù)據(jù)庫的方法,以及一些注意事項,希望對大家實用mysql能夠有所幫助
    2016-12-12
  • MySQL中左連接和右連接的區(qū)別舉例詳解

    MySQL中左連接和右連接的區(qū)別舉例詳解

    在MySQL中多表查詢是常見的操作,涉及到兩個或多個表的數(shù)據(jù)合并,這篇文章主要介紹了MySQL中左連接和右連接區(qū)別,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-07-07
  • Mysql5.7在Centos6中的安裝方法

    Mysql5.7在Centos6中的安裝方法

    這篇文章主要介紹了Mysql5.7在Centos6中的安裝方法,需要的朋友可以參考下
    2017-06-06
  • MySql實現(xiàn)分布式鎖詳解

    MySql實現(xiàn)分布式鎖詳解

    這篇文章主要為大家詳細介紹了如何使用本地MySql實現(xiàn)一把分布式鎖,以及Mysql實現(xiàn)分布式鎖的原理是怎么樣的,有需要的小伙伴可以了解下
    2024-11-11
  • mysql運行net start mysql報服務名無效的解決辦法

    mysql運行net start mysql報服務名無效的解決辦法

    這篇文章主要為大家詳細介紹了mysql運行net start mysql報服務名無效的解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL8.0.23免安裝版配置詳細教程

    MySQL8.0.23免安裝版配置詳細教程

    這篇文章主要介紹了MySQL8.0.23免安裝版配置教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論

炉霍县| 婺源县| 綦江县| 赣榆县| 浦县| 阳西县| 石屏县| 天峨县| 封丘县| 聊城市| 奉化市| 阿克陶县| 潮安县| 石河子市| 芷江| 巴楚县| 和平县| 平遥县| 长白| 东明县| 溧水县| 金昌市| 云浮市| 崇文区| 德阳市| 河西区| 广饶县| 大同市| 星子县| 宾川县| 普陀区| 连州市| 临洮县| 苍南县| 修武县| 溧水县| 许昌市| 剑河县| 佛学| 建瓯市| 垫江县|