主從複製條件:html
Mysql 單機多實例安裝參考Mysql 5.7.21 設置主從庫同步
下面的操做是多實例主從複製,3306爲主庫,3307爲從庫。mysql
[mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld mysqladmin = /usr/local/mysql/bin/mysqladmin log = /tmp/mysql_multi.log user = mysql pass = 123456 [mysqld1] datadir = /usr/local/data socket = /tmp/mysql.sock1 port = 3306 user = mysql performance_schema = off innodb_buffer_pool_size = 32M bind_address = 0.0.0.0 skip-name-resolve = 0 server-id=1 log-bin=/usr/local/data/mysql-bin [mysqld2] datadir = /usr/local/data3307 socket = /tmp/mysql.sock2 port = 3307 user = mysql performance_schema = off innodb_buffer_pool_size = 32M bind_address = 0.0.0.0 skip-name-resolve = 0 server-id=2
mysql>grant replication slave on *.* to 'rep'@'%' identified by '123456'; #後面的密碼要設置複雜些。 mysql> flush privileges;
mysql> flush table with read lock; #先鎖表,鎖表後不能退出mysql窗口,不然失效 mysql> show master status; #記錄bin-log的位置信息 +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000004 | 560 | | | +------------------+----------+--------------+------------------+ mysql> exit
mysqldump -uroot -p -S /data/3306/mysql.sock --events -A -B|gzip >/tmp/bak_$(date +%F).sql.gz mysql> unlock tables; #解鎖數據庫
3.2 快捷方法:sql
mysqldump -uroot -p -S /data/3306/mysql.sock --events -A -B -F --master-data=2 -x|gzip >/tmp/bak_f_$(date +%F).sql.gz -x 自動鎖表 -F --master-data=2 以備註形式記錄bin-log的位置。(能夠打開文件看頭部備註信息)
gzip -d bak_f_2018-03-26.sql.gz mysql -uroot -p -S /tmp/mysql.sock2 < bak_f_2018-03-26.sql
mysql -uroot -p123456 -S /tmp/mysql.sock2
CHANGE MASTER TO MASTER_HOST='172.16.1.214', MASTER_PORT=3306, MASTER_USER='rep', MASTER_PASSWORD='Root1234', MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=560;
mysql> start slave; #開啓同步 mysql> show slave status \G ; #查看同步狀態信息
mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave status \G ;" | egrep -i "_Running|_Behind"
Slave_IO_Running: Yes #同步進程是否啓動 Slave_SQL_Running: Yes #sql進程是否啓動 Seconds_Behind_Master: 0 #從庫同步完成須要的時間