主库配置
server-id=1
port=3306
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#log
expire_logs_days = 7
tmp_table_size=1G
#bin-log
log-bin=mysql-bin
sync_binlog=1
binlog_format=mixed
max_binlog_size=5G
binlog_cache_size=128m
max_binlog_cache_size=512m
#config
innodb_buffer_pool_size=1G
添加用户
添加用户权限
grant replication slave on *.* to 'relay'@'%';
FLUSH PRIVILEGES;
显示主库状态
show master status;
配置从库
修改从库的配置
server-id=1
在mysql的数据目录,删除auto.cnf
然后重启数据库
修改从库的的主从同步配置。
CHANGE MASTER TO
MASTER_HOST = '11.11.4.15',
MASTER_USER = 'relay',
MASTER_PASSWORD = 'xxxx',
MASTER_PORT = 3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=852,
MASTER_RETRY_COUNT = 60,
GET_MASTER_PUBLIC_KEY=1,
MASTER_HEARTBEAT_PERIOD = 10000;
如何确定从库的MASTER_LOG_FILE和MASTER_LOG_POS 呢?
可以在从库上执行
SHOW BINARY LOGS;
查看现在从库的位置,然后从主库的位置开始同步。
启动从库
start slave;
如果要重新修改配置 ,需要先停止
stop slave;
最后查看从库状态
show slave status;