天天看點

mysql主從配置

1.環境準備 2台主機上分别安裝好 mysql服務

2.設定mysql_master,修改 master 資料庫的配置檔案,vim /etc/my.cnf

[mysqld]

... ... ... ...

log-bin=mysql-bin # 二進制日志名稱,開啟bin-log

server-id=1 # 為伺服器設定一個獨一無二的id

3.重新開機 mysql_master 資料庫服務:

service mysqld restart

4.對mysql_slave的設定,不需要開啟二進制日志,僅需要設定以下 server-id 即可

server-id=2

5.重新開機 mysql_slave 資料庫服務:

6.建立主從複制賬号

create user 'dba'@'xxx.xxx.xxx.%' identified by 'password';

grant replication slave on . to dba@'xxx.xxx.xxx.%';

7.對mysql_master 所有的資料庫(包括觸發器,存儲過程,函數)導出到 all.sql

show databases;(先檢視mysql服務下面有哪些庫)

./mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p >/tmp/all.sql

8.在mysql_slave 手動導入 all.sql

./mysql -uroot -p < /tmp/all.sql

9.檢視主伺服器BIN日志的資訊

執行完之後記錄下這兩值,然後在配置完從伺服器之前不要對主伺服器進行任何操作,因為每次操作資料庫時這兩值會發生改變。

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

| mysql-bin.000002 | 2823| | |

10.設定從伺服器并啟用slave

mysql>change master to master_host='xxx.xxx.xxx.xx',
   master_user='dba',
   master_password='password',
   master_log_file='mysql-bin.000002',
   master_log_pos=2823;           

11.啟動從伺服器

stop slave;

start slave;

show slave status \G

出現:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

表示成功

繼續閱讀