MySQL8 clone plugin

来源:https://www.cnblogs.com/jackgxl/archive/2019/07/31/11275558.html
-Advertisement-
Play Games

安裝MySQl8.0.17 下載 MySQL8.0.17 二進位版本 https://dev.mysql.com/downloads/mysql/ 解壓,修改許可權 1 tar xf mysql-8.0.17-linux-glibc2.12-x86_64.tar -C /usr/local/ 2 3 ...


  安裝MySQl8.0.17

 

  • 下載

MySQL8.0.17 二進位版本

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

 

解壓,修改許可權

1 tar xf mysql-8.0.17-linux-glibc2.12-x86_64.tar -C /usr/local/
2 
3 ln -sv mysql-8.0.17-linux-glibc2.12-x86_64 mysql8
4 
5 chown -R mysql:mysql mysql8/*
View Code
  • 配置文件
[client]
port = 5432
socket = /data/mysql8017/tmp/mysql.sock

[mysql]
no-auto-rehash
default-character-set = utf8mb4
prompt=mysql(\\U[\\d])>

[mysqld]
###############basic setting#################
#skip-grant-tables
sql_mode = 'TRADITIONAL'
#ngram_token_size = 1

basedir = /usr/local/mysql8
datadir = /data/mysql8017/var
port = 5432
mysqlx_port = 54321
admin_port = 54322
server_id = 158
socket = /data/mysql8017/tmp/mysql.sock
mysqlx_socket = /data/mysql8017/tmp/mysqlx.sock
pid-file = /data/mysql8017/var/mysql.pid
tmpdir = /data/mysql8017/tmp

default_authentication_plugin =mysql_native_password
explicit_defaults_for_timestamp = 1
auto_increment_increment = 1
auto_increment_offset = 1
#lower_case_table_names = 1

secure-file-priv = '/data/mysql8017/tmp'

default-time-zone = system
character-set-server = utf8mb4
collation_server = utf8mb4_general_ci
#default_collation_for_utf8mb4 = utf8mb4_general_ci

interactive_timeout = 1800
wait_timeout = 1800
max_connections = 2000
max_allowed_packet = 64M

#####skip
#skip-name-resolve
#skip-grant-tables
#skip-external-locking
#skip-networking
skip-slave-start

thread_cache_size = 768

####log settings###############

expire_logs_days = 7

log-bin = mysql-bin
log-bin-index = mysql-bin.index
relay-log = relay-log
relay_log_index = relay-log.index

#log-warnings = 1
log_error_verbosity = 3
log-error = /data/mysql8017/log/mysql.err

slow_query_log = 1
long-query-time = 1
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = 1
log_slow_slave_statements = 1
#min_examined_row_limit = 100
slow_query_log_file = /data/mysql8017/log/slow.log

general_log = 0
general_log_file = /data/mysql8017/log/mysql.log
max_binlog_size = 1G
max_relay_log_size = 1G

#####InnoDB setting###########

default_storage_engine = innodb
innodb_buffer_pool_size = 4G
innodb_data_home_dir = /data/mysql8017/var
innodb_data_file_path = ibdata1:1G:autoextend
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:10G
innodb_lru_scan_depth = 2000
innodb_file_per_table = 1
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_purge_threads = 8
innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 0
innodb_log_buffer_size = 32M
innodb_log_file_size = 2G
innodb_log_files_in_group = 3
innodb_log_group_home_dir = /data/mysql8017/var
innodb_flush_neighbors = 1
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
innodb_undo_tablespaces = 3
innodb_max_dirty_pages_pct = 75
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 5
innodb_open_files = 65535
innodb_use_native_aio = on
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery = 1
innodb_io_capacity = 2000
innodb_io_capacity_max = 3000
log_timestamps = system

###replication settings###########

master_info_repository = table
relay_log_info_repository = table

binlog_format = row
sync_binlog = 0
transaction_isolation = READ-COMMITTED
log_slave_updates = on
relay_log_recovery = 1

#for gtid
gtid_mode = on
enforce_gtid_consistency = on
binlog_gtid_simple_recovery = 1

#####MyISAM setting##########
key_buffer_size = 128M
read_buffer_size = 8M
read_rnd_buffer_size = 8M
join_buffer_size = 8M
bulk_insert_buffer_size = 64M
sort_buffer_size = 8M
myisam_sort_buffer_size = 1G
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
table_open_cache = 4096


[mysqldump]
quick
max_allowed_packet = 64M


[myisamchk]
key_buffer_size = 64M 
sort_buffer_size = 16M
read_buffer_size = 64M
write_buffer_size = 64M

[mysqlhotcopy]
interactive-timeout
View Code

 


初始化

cd /usr/local/mysql8

./bin/mysqld --defaults-file=/data/mysql8017/etc/my.cnf --user=mysql --initialize
View Code

 


啟動

/usr/local/mysql8/bin/mysqld --defaults-file=/data/mysql8017/etc/my.cnf --user=mysql &
View Code

 


安裝clone plugin

  •  命令行載入插件
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
View Code

 

  • 配置文件啟動時載入
[mysqld]
plugin-load-add=mysql_clone.so
View Code

 

  • 強制啟動時,必須載入clone插件
[mysqld]
plugin-load-add=mysql_clone.so
clone=FORCE_PLUS_PERMANENT
View Code

 

  • 本地 clone
  • clone 需要游clone_admin許可權的用戶才能clone,本地實驗使用root
GRANT BACKUP_ADMIN ON *.* TO 'clone_user';
View Code

 

  • 本地執行clone
clone local data directory ='clone_dir';

clone_dir MySQL 有寫入許可權

 

mysql> clone local data directory ='/data/mysql8/clone_data/mysql8017';
Query OK, 0 rows affected (5 min 13.88 sec)

 

  • 遠程 clone
set global clone_valid_donor_list='192.168.64.154:5432'

clone instance from gao@192.168.64.154:5432 identified by '213456' data directory = '/data/backup/clone/mysql8';

 

  •  驗證
mkdir -pv /data/mysql8/{etc,var,log,tmp}
mv /data/backup/clone/mysql8/* /data/mysql8/var/

/usr/local/mysql8/bin/mysqld --defaults-file=/data/mysql8/etc/my.cnf --user=mysql &

 

mysql> use performance_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

show Database changed
mysql> show tables like '%clone%';
+----------------------------------------+
| Tables_in_performance_schema (%clone%) |
+----------------------------------------+
| clone_progress |
| clone_status |
+----------------------------------------+
2 rows in set (0.01 sec)

mysql> select * from clone_status ;
+------+------+-----------+-------------------------+-------------------------+---------------------+----------------+----------+---------------+-----------------+-----------------+---------------+
| ID | PID | STATE | BEGIN_TIME | END_TIME | SOURCE | DESTINATION | ERROR_NO | ERROR_MESSAGE | BINLOG_FILE | BINLOG_POSITION | GTID_EXECUTED |
+------+------+-----------+-------------------------+-------------------------+---------------------+----------------+----------+---------------+-----------------+-----------------+---------------+
| 1 | 0 | Completed | 2019-07-30 18:09:20.763 | 2019-07-31 11:29:31.355 | 192.168.64.154:5432 | LOCAL INSTANCE | 0 | | mybinlog.000007 | 565 | |
+------+------+-----------+-------------------------+-------------------------+---------------------+----------------+----------+---------------+-----------------+-----------------+---------------+
1 row in set (0.00 sec)

mysql> select * from clone_progress ;
+------+-----------+-----------+----------------------------+----------------------------+---------+------------+------------+------------+------------+---------------+
| ID | STAGE | STATE | BEGIN_TIME | END_TIME | THREADS | ESTIMATE | DATA | NETWORK | DATA_SPEED | NETWORK_SPEED |
+------+-----------+-----------+----------------------------+----------------------------+---------+------------+------------+------------+------------+---------------+
| 1 | DROP DATA | Completed | 2019-07-30 18:09:20.762836 | 2019-07-30 18:09:21.038340 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | FILE COPY | Completed | 2019-07-30 18:09:21.038469 | 2019-07-30 18:09:37.925766 | 2 | 1133629497 | 1133629497 | 1133697917 | 0 | 0 |
| 1 | PAGE COPY | Completed | 2019-07-30 18:09:37.925995 | 2019-07-30 18:09:38.228929 | 2 | 0 | 0 | 197 | 0 | 0 |
| 1 | REDO COPY | Completed | 2019-07-30 18:09:38.229253 | 2019-07-30 18:09:38.530556 | 2 | 6144 | 6144 | 6639 | 0 | 0 |
| 1 | FILE SYNC | Completed | 2019-07-30 18:09:38.530749 | 2019-07-30 18:09:54.844468 | 2 | 0 | 0 | 0 | 0 | 0 |
| 1 | RESTART | Completed | 2019-07-30 18:09:54.844468 | 2019-07-31 11:29:25.573844 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | RECOVERY | Completed | 2019-07-31 11:29:25.573844 | 2019-07-31 11:29:31.355007 | 0 | 0 | 0 | 0 | 0 | 0 |
+------+-----------+-----------+----------------------------+----------------------------+---------+------------+------------+------------+------------+---------------+
7 rows in set (0.00 sec)
View Code

 

tips:

  •  配置文件中目錄,字元集 和donor實例保持一致
  • 用clone數據啟動的實例可用donor實例的從庫

 reference

https://dev.mysql.com/doc/refman/8.0/en/clone-plugin-remote.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL Server in Docker 還原資料庫 上一會演示瞭如果在Docker環境下安裝SQL Server,這次我們來演示下如何還原一個資料庫備份文件到資料庫實例上。 使用winscp上傳bak文件到linux伺服器 上一回我們啟動docker容器的時候使用了 v參數掛賬了本地目錄/hd2/ ...
  • 前言: 上篇文章我們介紹了入門MySQL的基本概念,看完上篇文章,相信你應該瞭解MySQL的前世今生了吧。本篇文章將帶你從架構體系來學習MySQL。我認為學習MySQL架構體系應該是入門階段必須的,雖然可能看不太明白,暫時也用不到,但是我們心中要有這些概念,瞭解結構體系對於後續的學習是很有幫助的。 ...
  • 我們都知道建立索引能夠提高查詢效率,那麼是不是任何情況下都能提高呢,當然不是的的,下麵我們就來列舉一些常見的索引失效的場景。借用上一篇文章的dm_person_info表在card_code列沒加索引的時,查詢時間如下,大概都在0.07秒。 我們來加上索引試試,加上後查詢效率高了許多。 在正確使用索 ...
  • 問題:第1天給丈母娘1分錢,第2天給2分錢,第3天給4分錢,以此類推,每天給前一天的2倍,給一個月(按30天)算就行。問:第30天給多少錢,總共給多少錢? 解決方案:1)while迴圈方法(不推薦)一般思維可能就會定義一些變數,然後通過while進行迴圈,腳本會比較繁瑣。這種方法大部分人都能想到,即 ...
  • 存儲過程:對sql的封裝和重用,經編譯創建並保存在資料庫中,通過指定存儲過程的名字並給定參數(需要時)來調用執行。 優缺點: (1) 優點: 執行速度快 存儲過程只在創建時進行編譯,以後每次執行存儲過程都不需要重新編譯,而一般SQL語句沒執行一次就需編譯一次,所以使用存儲過程可提高資料庫的執行速度; ...
  • 從相關度評分和性能表現兩個角度對比 Elasticsearch 中檢索(query)和過濾(filter)的區別: (1) query性能較差, 但支持排序; (2) filter性能優於query, 但不支持按照匹配的相關度進行排序. ...
  • 當前,隨著電商節日的增多(6.18、雙十一、雙十二)、平臺拉新趨於頻繁,大促活動也越來越普遍。作為一個電商平臺,每年都會有一次,甚至幾次的流量“大考”。資料庫作為系統的重要節點,其穩定性和性能格外重要,資料庫的全力保障是一個大的挑戰。電商大促,這場沒有硝煙的戰爭很多人已有體會,在此不再贅述。現在,我 ...
  • 直接上解決方案: 先看一下SQL的 insert 命令吧! a : insert into tablename values (值1,值2,值3,.............) b : insert into tablename (列1,列2,列3,..........) values ( 值1,值2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...