暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql主从配置

meisfuture 2017-10-23
303


mysql工作步骤简单介绍:

1、主服务器把数据更新记录到二进制日志文件中;

2、从服务器把主服务器的二进制日志复制到自己的中继日志中,这个由从服务器的I/O线程负责

3、从服务执行中继日志,把其更新应用到自己的数据库上,这个由从服务器的SQL线程负责



主从的基本配置:

1、主库修改配置,在其配置文件中添加以下内容

server-id=1

log-bin= binlog

binlog_format=mixed

2、从库修改配置,在其配置文件中添加以下内容

server-id=2

log-bin= binlog

binlog_format=mixed

replicate_wild_do_table=DBNAME.% #指定要同步的数据库名

replicate_wild_ignore_table=mysql.% #指定不要同步的数据库名

3、重启数据库后,授权slave用户给从库

在主库的数据库内执行:

grant relication slave on *.* to 'SLAVE_USER@'HOSTNAME' identified by 'PASSWORD';

4、锁表,以便执行将数据从从库上恢复

在主库上执行命令:

flush tables with read lock;

5、备份主库,然后将备份的数据库在从库上恢复

执行命令对主库备份并记录主库的master信息:

mysqldump -uBACKUP_USER -p  DBNAME > DBNAME.sql

show master status;

执行命令对从库进行恢复数据:

mysql -uUSER -p -hHOSTNAME DBNAME < DBNAME.sql

解锁主库的锁表

unlock tables;

6、在从库进行执行复制操作

stop slave;

change master to master_host='IP' ,master_user='SLAVE_USER',master_password='PASSWORD',master_log_file='主库的bin-log文件',master_log_pos='主库的Position';

start slave;

7、在从库上查看是否成功

执行命令,当看到slave_io_running:yes时,表示网络正常;slave_sql_running:yes时,表示结构正常

show slave status\G;



主从同步问题解决:

1、分析报错日志,看到明确的报错后,可通过将主库和从库的相对应的表dump出来并做diff,即可看出不同处,然后将主库的dump.sql在从库上恢复出来,再起启动从库即可

2、如遇到不重要的语句更新,可在配置中添加配置,sql_slave_skip_counter = 1跳过该语句,再次启动从库即可;也可通过动态命令生效:set global sql_slave_skop_counter ="N"



切换主从的方法:

当主库无法短时间再次启动时,可将从库提升为主库

1、在从库上执行

stop slave;

reset master;

2、删除从库(现主库)的master.info和relay-log.info文件


文章转载自meisfuture,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论