mysql主从主要命令&一些补充信息

2017-09-13 10:26:52来源:http://jschu.blog.51cto.com/5594807/1964569作者:人点击

分享

mysql主从的一些补充信息

1.如果修改了主服务器配置,记得删除master.info文件,否则还是会以之前从服务器的配置启动,也可能会导致错误。

2.如果想以复制数据文件的方式来备份数据库,只需要stop slave;-->再备份数据库文件-->start slave;,这样不需停止主库业务,又可以备份数据,master的数据更新会在start save后同步到slave上。

3.Slave_IO_State的取值:空|Connecting to master|Waiting for master to send event

"空"##复制没有启动

"Connecting to master"##没有连接上master

"Waiting for master to send event"##已经连上

4.双机互备,则是两个mysql同时配置为master和slave

5.主库上的相关主要命令

showmasterstatus;
showslavehosts;
showbinary|masterlogs;##查看binlog日志
showbinlogevents;##查看binlog日志中的事件,不要轻易查看,大日志文件会输出很多。
purgebinary|masterlogsto'log_name';
purgebinary|masterlogsbefore'date';##清楚指定日志文件和日期之前的binlog日志。
resetmaster;##将所有binglog日志文件清空,并创建一个新的日志文件,从0000001开始。
setsql_log_bin=0|1;
flushtableswithreadlock;#锁表,所有用户不能写入。flushtables可使lock失效。主要建立主从时使用,防止binlog和pos位置改变。
unlocktables;#解除锁表

6.从库上相关主要命令

startslave;
stopslave;
stopslaveio_thread;
startslaveio_thread;##关闭/开启slave的io同步进程
stopslavesql_thread;
startslavesql_thread;##关闭/开启slave的sql同步进程
resetslave;
resetslaveall;##清除master.info和relay-log等从库配置,使该库与原主从无关。
showslavestatus/G;
purgebinarylogsto'log_name'|before'date';##清理指定binlog日志
changemastertomaster_host='',master_port='',master_user='',master_password='',master_log_file='',master_log_pos='';
##建立主从
loaddatafrommaster;
setglobalsql_slave_skip_counter;
SETGLOBALREAD_ONLY=0|1;##设置为1(on)表示开启只读,0(off)关闭只读
##与flushtableswithreadlock区别:root用户还可以写,其他用户不能。flushtables不会失效。

主库/从库配置文件解析(部分)

主库

log-bin=mysql-bin-1##自动生成mysql-bin.000001格式的binlog文件

server-id=1##建立的主从库中,该id必须唯一

innodb_flush_log_at_trx_commit=2 #磁盘写入策略,保证数据写入安全高效

sync_binlog = 1#这两个参数解析查看http://jschu.blog.51cto.com/5594807/1964735

binlog-do-db=db1

binlog-do-db=db2#指定需要同步的数据库

binlog_format=MIXED#mysql复制模式,三种SBR(基于sql语句复制)、RBR(基于行的复制)、MBR(混合模式复制)

expire_logs_days = 7#自动清理binlog日志,只保留指定日期内的binglog日志

max_binlog_size= 20M#设置单个binlog日志文件大小

从库

log-bin=mysql-bin-2#用于区分

server_id = 2

#其他可与主库配置一致。


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台