常用C++新特性
阿新 • • 發佈:2021-06-23
主:192.168.1.1
從:192.168.1.2
主資料庫master修改:
1.修改mysql配置
找到主資料庫的配置檔案my.cnf(或者my.ini)
[mysqld] #開啟二進位制日誌 log-bin=mysql-bin binlog_format=mixed #設定server-id 可以自己隨便設定但是要保證和slave的id不一樣 server-id=1 # 只同步test資料庫,除此之外,其他不同步 binlog-do-db = test
2.重啟mysql,建立用於同步的使用者賬號
開啟mysql會話shell>mysql -hlocalhost -uroot -proot
建立使用者並授權:使用者:root1密碼:123456
mysql> CREATE USER 'repl'@'192.168.1.2' IDENTIFIED BY 'slavepass';#建立使用者 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2';#分配許可權 mysql>flush privileges; #重新整理許可權
3.檢視master狀態,記錄二進位制檔名(mysql-bin.000002)和位置(547):
mysql > SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000002| 547 | test | | +------------------+----------+--------------+------------------+
從伺服器slave修改:
同樣找到my.cnf配置檔案,新增server-id
1.修改mysql配置
[mysqld]
#開啟二進位制日誌 log-bin=mysql-bin binlog_format=mixed #設定server-id server-id=2 # 只同步test資料庫,除此之外,其他不同步 binlog-do-db = test
2.關閉同步
mysql>slave stop;
3.重啟mysql,開啟mysql會話,執行同步SQL語句(需要主伺服器主機名,登陸憑據,二進位制檔案的名稱和位置):
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.1', -> MASTER_USER='root1', -> MASTER_PASSWORD='123456', -> MASTER_LOG_FILE='mysql-bin.000002', -> MASTER_LOG_POS=547;
4.啟動slave同步程序:
mysql>start slave;
5.檢視slave狀態:
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.1.1 Master_User: root1 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000002 Read_Master_Log_Pos: 11662 Relay_Log_File: mysqld-relay-bin.000023 Relay_Log_Pos: 11765 Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB:
當Slave_IO_Running和Slave_SQL_Running都為YES的時候就表示主從同步設定成功了