`

mysql 5.6 主从配置

阅读更多

mysql master 指主服务器上安装的mysql

mysql slave 指从服务器上安装的mysql

 

1.mysql master

vi /etc/my.cnf

 

[mysqld]

explicit_defaults_for_timestamp  #增加此行,要不然会有警告

 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

 

max_connections=10000

join_buffer_size=64M

read_buffer_size=128M

key_buffer_size=512M

open-files-limit=28196

query_cache_type=2

query_cache_size=32M

tmp_table_size=1024M

long_query_time=2

slow_query_log=ON

slow_query_log_file=/var/log/mysql/slowquery.log

 

# master 配置 开始

server-id=102 #不要与mysql slave一样

binlog_do_db=rdec_new #需要同步的数据库

binlog_ignore_db=test #不需要同步的数据库

log_bin=/var/log/mysql/mysql-bin  #建议写绝对路径

expire_logs_days=10

max_binlog_size=100M

sync_binlog=1

# master 配置 结束

 

symbolic-links=0

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 

2.mysql slave

 

[mysqld]

explicit_defaults_for_timestamp

 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

 

max_connections=10000

join_buffer_size=64M

read_buffer_size=128M

key_buffer_size=512M

open-files-limit=28196

query_cache_type=2

query_cache_size=32M

tmp_table_size=1024M

long_query_time=2

slow_query_log=ON

slow_query_log_file=/var/log/mysql/slowquery.log

 

# slave 配置开始

server-id=103 #需要与mysql master不同

replicate-do-db=rdec_new 同步的数据库,需要在mysql master中配置

log_bin=/var/log/mysql/mysql-bin #建议使用绝对路径

expire_logs_days=10

max_binlog_size=100M

relay_log=/var/log/mysql/relay.log

log_slave_updates=1

read_only=1

sync_master_info=1

sync_relay_log=1

sync_relay_log_info=1

# slave 配置结束

 

symbolic-links=0

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 

3.如果mysql是采用拷贝安装的话,需要修改

/var/lib/mysql/auto.cnf中的server-uuid,不要相同

 

4.在mysql master、mysql slave上建立同步账号,如:

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repl@'192.168.1.%' IDENTIFIED BY 'p4ssword';

账号:repl 密码p4ssword ,此处限制mysql slave 的ip是192.168.1网段

 

5.启动mysql master

 

6.测试用repl账号连接mysql master,确认能够连接

 

7.使用root 登录mysql master ,输入show master status;

记住返回结果中的File字段内容,如: mysql-bin.000001

 

8.启动mysql slave

 

9.设置mysql slave从mysql master复制数据

CHANGE MASTER TO MASTER_HOST='192.168.5.102',MASTER_USER='repl',MASTER_PASSWORD='p4ssword',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=0;

 

MASTER_HOST 是mysql master的IP地址,注意设置防火墙开放mysql的端口

MASTER_USER MASTER_PASSWORD 是mysql master中设置的同步账号

MASTER_LOG_FILE 是mysql master中使用show master status 返回的File字段的内容,mysql master每次重启后都会不同,对应的mysql slave需要重新设置(重新设置时,先 stop slave然后设置连接mysql master,然后start slave);

 

10.输入命令 start slave;启动复制

 

11.输入命令 show slave status;注意查看last_errno 是否有错误信息;

 

12.在mysql master中建表、增删数据,测试是否同步;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics