MySQL 5.7 数据库主从
主服务器(source):
vi /etc/my.cnf
log_bin = mysql-bin # 这里是一个路径文件,名字自定义
server_id = 1
binlog-checksum = none
expire-logs-days = 7 # 只保留7天的日志
重启mysql,然后进入mysql执行:
mysql> flush logs;
mysql> show master status;
记下文件和位置
mysql> show master status\G;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 150 | | | |
+------------------+----------+--------------+------------------+-------------------+
从服务器(target):
vi /etc/my.cnf
log-bin = mysql-bin # 这里是一个路径文件,名字自定义
server-id = 2
replicate-do-db = test # 需要复制的数据库,多个写多条
# replicate-ignore-db = dbabc,db123 # 需要忽略同步的数据库
# replicate-ignore-table = dbabc.table1,dbabc.table2 # 需要忽略同步的表
重启mysql,然后进入mysql执行:
mysql> stop slave;
mysql> change master to master_host='111.248.87.3',master_user='root',master_password='password1234',master_log_file='mysql-bin.000002',master_log_pos=150;
mysql> start slave;
mysql> show slave status\G;
如果没有Last_Error或者Last_SQL_Erro报错则成功,相关http://blog.itpub.net/29870867/viewspace-1304862/
[主]服务器进入mysql后先锁定为只读
mysql> flush tables with read lock;
[主]导出某个库的数据,例如dbname数据库
mysql> mysqldump -uroot -ppassword1234 -h111.248.87.3 dbname > mysql.dbname.sql
[主]将数据同步到远程的从服务器
mysql> scp mysql.sspanel.sql [email protected]:/tmp/
[从]服务器进入mysql后导入数据
mysql> source /tmp/mysql.sspanel.sql
[主]服务器进入mysql后解除只读锁定
mysql> unlock tables;
[从]停止mysql同步
mysql> stop slave;
[从]更新日志位置
mysql> change master to master_host='111.248.87.3',master_user='root',master_password='password1234',master_log_file='mysql-bin.000004',master_log_pos=377771274;
[从]启动mysql同步
mysql> start slave;
如果start slave
报错“Slave failed to initialize relay log info structure from the repository”,不用慌,只需要重置日志就行,先执行reset slave
然后再执行start slave
其他
查看binglog从指定位置。
mysqlbinlog --start-position=342439502 /data/data/mysql-bin.000262 > /tmp/binlog.txt
互为主从操作方法见这里《MySQL5.7互为主从》
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭