標籤:mysql
master端192.168.200.77
1.在/etc/my.cnf裡添加
[mysqld]
log-bin=mysql-bin
server-id=1
2.查看設定是否生效
一、在data目錄是否有mysql-bin.000001檔案和mysql-bin.index檔案
二、mysql> show variables like ‘%log_bin%‘;
+---------------------------------+---------------------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------------------+
| log_bin | ON |
| log_bin_basename | /application/mysql/data/mysql_log_bin |
| log_bin_index | /application/mysql/data/mysql_log_bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+---------------------------------------------+
6 rows in set (0.02 sec)
3.添加mysql使用者,給slave串連使用
mysql> grant replication slave on *.* to ‘rep‘@‘%‘ identified by ‘oldboy123‘;
mysql> flush privileges;
4.備份主庫資料庫
1.flush table with read lock;
2.另開一個視窗
mysqldump -uroot -poldboy -A -B --master-data=2 >/tmp/mysql_all_B.sql
可以查看bin-log資訊
mysql>show master status;
mysql>show master logs;
3.unlock tables;
#########################################################################
salve端192.168.200.88
1.修改/etc/my.cnf裡添加
[mysqld]
server-id=2
2.mysql -uroot -poldboy </tmp/mysql_all_B.sql
3.change master to
master_host=‘192.168.200.77‘,
master_port=3306,
master_user=‘rep‘,
master_password=‘oldboy123‘,
master_log_file=‘mysql_log_bin.000035‘,
master_log_pos=408;
查看cat /application/mysql/data/master.info
4.start slave;
show slave status\G;
Slave_IO_Running:YES
Slave_SQL_Running:YES
有2個YES就說明成功了
在master端插入記錄,再到slave端看有沒有同步過來
備忘:
--master-data=1 適用於從庫還原,有change master語句,在slave端使用change master
時可以不用加上master_log_file,master_log_pos語句
--master-data=2 change master語句被注釋了
mysql主從複製的步驟