低调大师

您现在的位置是: 首页 > MySQL主从配置

文章详情

MySQL主从配置

低调大师 2017-11-19 23:28 105已围观 收藏 加入我们
MySQL主从配置

环境:

    主机(master)ip:192.168.1.242

    从机(slave)ip:192.168.1.243

    要求:安装的MySQL版本一致

1.主服务器配置

    1.1.编辑my.cnf

        在[mysqld]后面添加

参数 说明
server-id = 1 添加server-id必须为1到232–1之间的一个正整数(一般为IP后三位)
binlog-do-db=Demo01 复制过滤:需要备份的数据库,输出 binlog
binlog-ignore-db=mysql 复制过滤:不需要备份的数据库,不输出(mysql 库一般不同步)
log-bin=demo01-mysql-bin 开启二进制日志功能,可以随便取,最好有含义
binlog_cache_size=1M 为每个session分配的内存,在事务过程中用来存储二进制日志的缓存
binlog_format=mixed 主从复制的格式(mixed,statement,row. 默认格式是:statement)
expire_logs_days=7 二进制日志自动删除/过期的天数.默认值为0,表示不自动删除
slave_skip_errors=1062 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断;如:1062错误是指一些主键重复,1032 错误是因为主从数据库数据不一致

    1.2.重启MySQL数据库

        service mysql restart

    1.3.修改数据库信息

        1.3.1.连接数据库 

            mysql -uroot -p

        1.3.2.创建MySQL专用用户来同步数据

            grant replication slave, replication client on *.* to 'xujun'@'192.168.1.243' identified by '123456';

            username:xujun

            password:123456

            ip:192.168.1.243

        1.3.3.刷新配置

            flush privileges;

        1.3.4.查看(用来配置从服务器)

            show master status;

2.从服务器配置

    2.1.编辑my.cnf

        在[mysqld]后面添加

参数 说明
server-id = 1 添加server-id必须为1到232–1之间的一个正整数(一般为IP后三位)
binlog-ignore-db=mysql 复制过滤:不需要备份的数据库,不输出(mysql 库一般不同步)
log-bin=demo01-mysql-bin 开启二进制日志功能,可以随便取,最好有含义
binlog_cache_size=1M 为每个session分配的内存,在事务过程中用来存储二进制日志的缓存
binlog_format=mixed 主从复制的格式(mixed,statement,row. 默认格式是:statement)
expire_logs_days=7 二进制日志自动删除/过期的天数.默认值为0,表示不自动删除
slave_skip_errors=1062 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断;如:1062错误是指一些主键重复,1032 错误是因为主从数据库数据不一致
relay_log=demo01-mysql-bin relay_log配置中继日志
log_slave_updates=1 log_slave_updates表示slave将复制事件写进自己的二进制日志
read_only=1 防止改变数据(除了特殊的线程)

    2.2.重启MySQL数据库

        service mysql restart

    2.3.同步主机设置

        2.3.1.命令连接MySQL

            mysql -uroot -p

        2.3.2.同步参数设置

            change master to master_host='192.168.1.242', master_user='xujun', master_password='123456', master_port=3306, master_log_file='edu-mysql-bin.000002', master_log_pos=2311, master_connect_retry=30;

参数 说明
master_host ip
master_user 同步用户
master_password 同步密码
master_port Master同步端口
master_log_file 指定Slave从哪个日志文件开始读复制数据(可在 Master上使用show master status查看到日志文件名)
master_log_pos 从哪个POSITION号开始读
master_connect_retry 当重新建立主从连接时,如果连接建立失败,间隔多久后重试.单位为秒,默认设置为60秒,同步延迟调优参数

        2.3.3.启动同步

            start slave;

        2.3.4.查看状态

            show slave status \G

            同步成功显示:

            Slave_IO_State: Waiting for master to send event

            Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

3.测试

    在主服务器demo数据库添加数据,从服务器查看

    注意:主从demo数据库初始信息要相同,包括表结构、表数据、编码等,如果不相同,则将master主服务器中的信息先备份,然后再导入到从服务器

说明:

    该配置适用

    A ----> B

    A <--> B

    A ----> B,A ----> C

收藏 (0)

如果您喜欢本网站,或者本文章对您有些许帮助,那么可以打赏。

打赏多少您说了算,谢谢您对低调大师的支持!!!

支付宝扫一扫

个人博客,个人博客网站,低调大师,许军

微信扫一扫

个人博客,个人博客网站,低调大师,许军

文章评论

共有0条评论来说两句吧...