亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql主從復制的實現步驟是什么

發布時間:2021-10-23 11:18:13 來源:億速云 閱讀:140 作者:iii 欄目:開發技術

這篇文章主要介紹“mysql主從復制的實現步驟是什么”,在日常操作中,相信很多人在mysql主從復制的實現步驟是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql主從復制的實現步驟是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目錄
  • mysql主從復制

  • mysql主從復制的方式

  • mysql主從復制的原理

  • mysql的主從配置的具體實現方式

    • 1、 Master配置

    • 2、 Slave配置

mysql主從復制

本來是在做sharding的,可是做好之后發現數據庫的主從復制還沒有做,所以在配置好了之后做了些記錄:

mysql主從復制的方式

mysql主從復制有兩種方式:基于日志(binlog)、基于GTID(全局事物標示符)本博文用的是基于日志(binlog)的復制。

mysql主從復制的原理

1、 Master將數據記錄到二進制日志中,也就是mysql配置文件my.cnf的log-bin指定的文件,這些記錄叫做二進制日志事件。
2、 Slave有兩個線程,一個I/O線程,一個SQL線程。I/O線程請求Master,將得到的binlog日志寫到relay log(中繼日志) 文件中。
3、 SQL 線程,會讀取relay log文件中的日志,并解析成具體操作,來實現主從的操作一致,而最終數據一致。

mysql主從復制的實現步驟是什么

mysql的主從配置的具體實現方式

1、 Master配置

(1) 修改mysql的my.cnf配置文件,這里比較坑爹的是我用的mysql版本沒有my.cnf 配置文件,連my-default.cnf都沒有,一般來說my.cnf在/etc目錄下, my-default.cnf在/usr/local/mysql/support-files中。最終我在網上復制了一份my.cnf文件放在了/etc中(朋友們可以自己去網上找,有很多的)。
(2) my.cnf中需要修改的配置主要有開啟日志功能,設置server_id保證其唯一性(不能跟從庫一樣),過濾需備份的數據庫。

bash-3.2# vim /etc/my.cnf
# 設置server_id,不能重復,一般可以設置為主庫的IP
server_id=81
# 備份過濾:需要備份的數據庫,輸出binlog
binlog-do-db=demo_ds_master
# 備份過濾:不需要備份的數據庫,不輸出
binlog-ignore-db=mysql
# 開啟二進制日志,將主庫數據記錄到mysql-bin開頭的日志文件中(可自定義)          
log-bin=mysql-bin
# 配置每個session的內存,在事物過程中用來存儲二進制日志的緩存
binlog_cache_size=1M
# 主從復制的格式(mixed,statement,row 默認的是statement)
binlog_format=mixed
# 二進制日志自動刪除/過期的天數,默認為0,不自動刪除
expire_logs_days=7
# 用于跳過主從復制中遇到的所有錯誤或指定的錯誤類型,避免slave端的終端
# 1062:主鍵沖突(具體的參數可以去網上查詢)
slave_skip_errors=1062

(3) 啟動/重啟Master數據庫服務,登錄數據庫,創建數據同步用戶,并授權

#授權這個機器可以備份主數據庫的數據
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'root'@'192.168.31.60' identified by 'password';
#然后刷新權限
mysql> flush privileges;
#查看配置的主庫信息
mysql> show master status;

mysql主從復制的實現步驟是什么 

(4) 主庫數據備份,確保主從庫的數據一致性

# 臨時鎖住表,設置只讀權限
mysql> flush tables with read lock;
# 備份數據庫
bash-3.2# mysqldump -uroot -p --add-drop-table demo_ds_master_1 > /tmp/demo_ds_master_1.sql;
# 解鎖表
mysql> unlock table;

2、 Slave配置

(1) 修改從數據庫mysql的my.cnf配置文件,添加從數據庫的中繼日志配置

[root@develop etc]# vim my.cnf
# 設置server_id,不能重復,這里設置的是從庫的IP
server-id=60
# 開啟從數據庫中繼日志,將主數據庫的binlog寫到relay log中,中繼日志以hehe-mysql-relay-bin開頭(可自定義)
relay_log=hehe-mysql-relay-bin
# 設置從數據庫為只讀權限,防止主從數據不一致
read_only=1

(2) 如果從庫需要作為另一個庫的主庫的話,需要加上Master上的配置信息,并且加上log_slave_updates=1將Master的binlog記錄到自己的binlog日志中。

mysql主從復制的實現步驟是什么 

(3) 重啟從庫數據庫,同步主庫數據

# 運行主數據庫的備份數據庫
[root@develop etc]# mysql -uroot -p demo_ds_master_1 < /tmp/demo_ds_master_1.sql
# 登錄從數據庫
[root@develop etc]# mysql -uroot -p
# 設置該從節點的主節點
mysql> change master to master_host='192.168.31.80', master_user='root',master_password='password',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=154;
# 開啟主從同步
mysql> start slave;
# 查看主從同步狀態
mysql> show slave status\G;
# 查看主從線程狀態
mysql> show processlist\G;

mysql主從復制的實現步驟是什么 

圖片中顯示如下,說明主從復制已經配置好了,下面主庫插入數據就可以實現從庫自動復制主庫數據了。

  • Slave_IO_State: Waiting for master to send event

  • Slave_IO_Running: Yes

  • Slave_SQL_Running: Yes

到此,關于“mysql主從復制的實現步驟是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江津市| 广平县| 武夷山市| 贵港市| 鹿邑县| 阿合奇县| 林州市| 彝良县| 罗源县| 康乐县| 永年县| 常州市| 湖州市| 靖宇县| 滨海县| 乳山市| 寿光市| 崇文区| 吴旗县| 申扎县| 安阳市| 潞城市| 布尔津县| 库车县| 田东县| 塔河县| 仙桃市| 阿鲁科尔沁旗| 衡南县| 广灵县| 新乡县| 南开区| 许昌市| 长宁县| 扎赉特旗| 大荔县| 东光县| 青州市| 龙州县| 巴中市| 山丹县|