MySQL主从介绍 准备工作 配置主 配置从 测试主从同步

配置主:
• 安装mysql
• 修改my.cnf,增加server-id=130和log_bin=xiaobo1
• 添加环境变量
Vim /root/.bash_profile
PATH=$PATH:/usr/local/mysql/bin/
生效source !$
• 修改完配置文件后,启动或者重启mysqld服务
• /etc/init.d/mysqld restart
• 把mysql库备份并恢复成xiaobo库,作为测试数据
• mysqldump -uroot -pxiaobo mysql > /tmp/mysql.sql
• mysql -uroot -pxiaobo -e “create database xiaobo”
• mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql
• 创建用作同步数据的用户
《参考修改mysql密码mysqladmin -uroot password 'xiaobo'
进入mysql   mysql -uroot   -pxiaobo
• grant replication slave on *.* to 'repl'@10.211.55.52 identified by 'xiaobo';
• flush tables with read lock; (暂时锁住表)
• show master status;
• 退出 quit

 

配置从
• 安装mysql
• 查看my.cnf,配置server-id=132,要求和主不一样
• 修改完配置文件后,启动或者重启mysqld服务
/etc/init.d/mysqld restart
• 把主上xiaobo库同步到从上
[root@CentOS7_two mysql]# scp 10.211.55.51:/tmp/*sql /tmp/
• 可以先创建xiaobo库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入xiaobo库
• scp 10.211.55.51:/tmp/*sql /tmp/
• mysql -uroot -pxiaobo
• create database xiaobo;
• 恢复数据:将mysql.sql数据导入xiaobo数据库 
• [root@CentOS7_two mysql]# mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql
• mysql -uroot -pxiaobo 执行stop slave;
• 主数据服务器 记住master_log_file='xiaobo1.000001',master_log_pos=653311

 

mysql> change master to master_host='10.211.55.51', master_user='repl', master_password='xiaobo', master_log_file='xiaobo1.000001', master_log_pos=653311;
• 注意:关闭selinux :
setenfource 0
关闭firewalld
systemctl stop firewalld

• 开启从机:start slave;
• 查看当前的状态 show slave status,有俩个yes就对!
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.211.55.51
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: xiaobo1.000002
          Read_Master_Log_Pos: 653371
               Relay_Log_File: CentOS7_two-relay-bin.000002
                Relay_Log_Pos: 281
        Relay_Master_Log_File: xiaobo1.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

• 还要到主上执行 unlock tables
回顾
从上执行mysql -uroot
show slave stauts\G
看是否有
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
还需关注
Seconds_Behind_Master: 0  //为主从延迟的时间
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
主服务器上
binlog-do-db=      //仅同步指定的库
binlog-ignore-db= //忽略指定库
从服务器上
replicate_do_db=
replicate_ignore_db=
replicate_do_table=
replicate_ignore_table=
replicate_wild_do_table=   //如aming.%, 支持通配符% 
replicate_wild_ignore_table=
测试主从

主上 mysql -uroot -pxiaobo
使用xiaobo数据库:
use xiaobo;
select count(*) from user;
truncate table user;
到从上 mysql -uroot -pxiaobo
select count(*) from user;
主上继续drop table user;
从上查看user表

 

posted @ 2018-04-10 22:25  zhaocundang  阅读(242)  评论(0编辑  收藏  举报