今天我们来学习一下mysql的组从配置,这个技术在生产环境中常常被用到,
起了对数据库备份的作用确保数据的安全,下面我来讲解如何进行配置主从复制,
网络拓扑如下。
主服务器(mysql-master):IP地址:172.16.1.106 mysql已安装,没有用户数据。
从服务器(mysql-slave)   :IP地址:172.16.0.106 mysql已安装,没有用户数据。

mysql 主从配置_mysql主从复制
一、主数据库操作配置
 1、修改mysql配置文件/etc/my.cnf中有如下参数,没有的话需手工添加,并重启mysql服务。
[mysqld]
log-bin=mysql-bin //启动二进制文件.默认存放在mysql,data库文件路径下
server-id=1      //服务器ID
2、登录mysql,在mysql中添加一个backup的账号,//并授权给从服务器。
[root@localhost ~]# mysql -u root –p123456          //登录mysql
mysql> grant replication slave on *.* to 'backup'@'172.16.0.106' identified by 'backup';  //创建backup用户,并授权给172.16.0.106使用。

mysql>flush privileges;   //刷新权限表
mysql 主从配置_mysql主从复制_02
3、查询主数据库状态,并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。
mysql> show master status;
mysql 主从配置_mysql主从复制_03
二 从库配置
 1、验证授权用户登录mysql -h 172.16.1.106 -P 3306 -u backup -p123146 //远程命令行登录对方数据库OK用户可以正常登录
mysql 主从配置_mysql主从复制_04
2、确保/etc/mycnf中有log-bin=mysql-bin和server-id=1参数,把server-id=1修改为比主库要大server-id=10
[mysqld]
log-bin=mysql-bin                           //启动二进制文件
server-id=10                                   //服务器ID
master-host=172.16.1.106             //对方主库IP
master-user=backup                     //授权用户
master-password=123456             //授权用户密码
master-port=3306                           //服务端口
master-connect-retry=60               //断点重连时间        
replicate-ignore-db=mysql            //屏蔽对mysql库的同步,以免有麻烦        
replicate-do-db=test                      //同步数据库名称
3、重启mysql服 /etc/init.d/mysqld restart
4、登录数据库mysql -uroot -p 执行下列语句
slave stop;                       //默认为启动如果不先停止可能会无法同步数据切记!
change master to
master_host='172.16.1.106',
master_user='backup',
master_password='backup',
master_log_file='mysql-bin.000009',
master_log_pos=723;
slave start;                      //启动同步

mysql 主从配置_mysql主从复制_05
5、检查主从同步,如果您看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。
mysql> show slave status\G
mysql 主从配置_mysql主从复制_06
三、回到主库验证同步
1、验证配置是否正常,mysql主从能否正常复制。在主数据库上新建一个库。
[root@localhost ~]# mysql -uroot –p123456
mysql> create database www;
mysql 主从配置_mysql主从复制_07 

2、回到从库验证

mysql 主从配置_mysql主从复制_08
 从上图中的结果,我们可以看到mysql主从复制已经在起作用了。好了今天就到这里明天讲主的有数据锁表迁移到从。

 一、单台数据库存有数据,要升级为主从复制的架构
主数据库:mysql-master:IP172.16.1.216,数据库正常提供服务,有数据。
从数据库:mysql-slave: IP172.16.0.216,数据库正常提供服务,无数据