日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL主从数据库同步

發布時間:2024/3/24 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL主从数据库同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考文檔?https://blog.csdn.net/starlh35/article/details/78735510

主從數據庫同步的實現思路

如圖:

?主服務器master記錄數據庫操作日志到Binary log,從服務器開啟i/o線程將二進制日志記錄的操作同步到relay log(存在從服務器的緩存中),另外sql線程將relay log日志記錄的操作在從服務器執行。
記住這張圖,接下來基于這個圖實際設置主從數據庫。

主從數據庫設置的具體步驟

1. 打開mysql數據庫配置文件

vim /etc/my.cnf

2.在主服務器master上配置開啟Binary log,主要是在[mysqld]下面添加:

server-id=1 log-bin=master-bin log-bin-index=master-bin.index

如圖:

3.重啟mysql服務

service mysql restart

4.檢查配置效果,進入主數據庫并執行

mysql> SHOW MASTER STATUS;

可以看到下圖表示配置沒問題,這里面的File名:master-bin.000001 我們接下來在從數據庫的配置會使用:

5. 配置從服務器的 my.cnf

在[mysqld]節點下面添加:

server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin

這里面的server-id 一定要和主庫的不同,如圖:

配置完成后同樣重啟從數據庫一下

service mysql restart

6.接下來配置兩個數據庫的關聯

首先我們先建立一個操作主從同步的數據庫用戶,切換到主數據庫執行:

mysql> create user repl; mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql'; mysql> flush privileges;

這個配置的含義就是創建了一個數據庫用戶repl,密碼是mysql, 在從服務器使用repl這個賬號和主服務器連接的時候,就賦予其REPLICATION SLAVE的權限,?.?表面這個權限是針對主庫的所有表的,其中xxx就是從服務器的ip地址。
進入從數據庫后執行:

mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;

這里面的xxx是主服務器ip,同時配置端口,repl代表訪問主數據庫的用戶,上述步驟執行完畢后執行start slave啟動配置:

mysql> start slave;

停止主從同步的命令為:

mysql> stop slave;

查看狀態命令,\G表示換行查看

mysql> show slave status \G;

可以看到狀態如下:

這里看到從數據庫已經在等待主庫的消息了,接下來在主庫的操作,在從庫都會執行了。我們可以主庫負責寫,從庫負責讀(不要在從庫進行寫操作),達到讀寫分離的效果。

總結

以上是生活随笔為你收集整理的MySQL主从数据库同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。