linux下搭建mysql主从
在master上创建repl账户,用于复制。
grant replication slave on *.* to 'repl'@'%' identified by 'P@$$W0rd';
flush privileges;
与windows下搭建mysql主从的区别:
二进制日志的路径格式不一样
master:
my.cnf部分配置(master):
thread_handling = pool-of-threads
thread_pool_oversubscribe = 10
skip-name-resolve
# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
expire_logs_days = 10
max_binlog_size = 100M
log_bin = /var/lib/mysql/mysql-bin.log #确保此文件可写
read-only =0 #主机,读写都可以
binlog-do-db =yourdb #需要备份数据,多个写多行
binlog-ignore-db =mysql #不需要备份的数据库,多个写多行
slave:
master:
show variables like '%log_bin%';
show master status
slave:
stop slave;
change master to
master_host='192.168.103.56',
master_user='repl',
master_password='P@$$W0rd',
master_log_file='mysql-bin.000002',
master_log_pos=120;
start slave;
show slave status;