【手把手教】主从MySql配置

准备工作:

CentOS Linux 作为主服务器。

MacOS 作为从服务器。

 

MySql版本:5.6

 

 

1.系统搭建:

Mac电脑中使用Parallels Desktop运行CentOS6.5虚拟机。

(可能遇到的问题版本 Parallels Desktop10.1.0 可能无法安装CentOS7 以上的版本,建议安装6.5

 

2.CentOS中安装Mysql

不要直接使用YUM去安装MYSQL,因为安装的mysql版本是5.1的。安装5.6版本要遵循以下步骤:

Linux终端下:

1wget  http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm  mysql5.6Yum库下载到本地

2yum install mysql-community-server 进行安装

3)设置初始密码  mysqladmin -u root password 123456    验证登陆mysql -u root -p 回车 输入密码

4)开启远程连接

use mysql

Update user set host='%' whereuser='root';

(5)开启防火墙,否则远程数据工具可能无法连接。

 

环境搭建完毕。

Mac上的Mysql同理进行搭建

 

3.主从配置

CentOS主服务器

IP:10.211.55.14  MYSQL USER:root  PASSWORD:123456

创建同步测试用的数据库:student_manager

MAC从服务器

IP:127.0.0.1 MYSQL USER:root PASSWORD:123456

 

1)配置CentOSmaster  mysql配置文件  vim  /etc/my.cnf

[mysqld]

log-bin = mysql-bin  #二进制日志

server-id=1    #此处指定mysql的id,主从myslq都需要指定不同的id

binlog-do-db=student_manager  #指定需要同步的数据库,多个数据库逗号隔开

binlog-ignore-db=mysql  #需要忽略同步的数据库  mysql这是配置数据,无需同步

保存退出。重启mysql

2)配置Mac salve mysql  配置文件 vim my.cnf

[mysqld]

log-bin=mysql-bin

server-id=2

 

#此处需要配置和master mysql不同的id

replicate-do-db=student_manager  #配置同步的数据库 和master保持一致

replicate-ignore-db=mysql   #忽略同步的数据库

重启mysql

 

注意:坑!网上很多配置教程,直接在my.cnf文件中写入账号和密码等信息,这是在mysql5.1之后就已经废除了,如果照搬mysql会报错!

 

 

3)Master mysql 授权

进入主Mysql命令终端

grant replication slave  on *.* to 'root'@'%' identified by '123456'with grant option;

以下语句解析:允许来自于127.0.0.1的slave mysql 通过 root 账号和123456密码进行连接。注意此处的root是master mysql中的账号密码。完全可以创建一个新的账号密码供salve连接使用。 Master mysql上是不理会salve自身的账号密码的。

grant replication slave  on *.* to 'root'@'127.0.0.1' identified by '123456' with grant option;

 

4master日志

masterstudent_manager 数据库导出sql,然后锁定或关闭数据库不允许写

Master 终端输入:show master status

mysql> show master status;

+------------------+----------+-----------------+------------------+-------------------+

| File            | Position | Binlog_Do_DB    | Binlog_Ignore_DB |Executed_Gtid_Set |

+------------------+----------+-----------------+------------------+-------------------+

| mysql-bin.000003 |    2256 | student_manager | mysql            |                  |

+------------------+----------+-----------------+------------------+-------------------+

1 row in set (0.00 sec)

 

  (5)salve mysql 配置

进入salvemysql 终端

stop salve; #停止已有的slave同步进程 (如果有的话)

 change master tomaster_host='10.211.55.14',master_user='root',master_password='123456',master_log_file='mysql-bin.000003' ,master_log_pos=2256 ;   #执行同步语句 .此处的master_log_file和master_log_pos就是master中的master status。指定日志文件中的固定位置。这就是主从同步的关键。

start slave;

Show slave status; #验证是否同步

 

******************************************************

              Slave_IO_State: Waiting for master to send event

                  Master_Host:10.211.55.14                 Master_User: root

                  Master_Port: 3306

               Connect_Retry: 60

              Master_Log_File: mysql-bin.000003

         Read_Master_Log_Pos: 7131

               Relay_Log_File:MySQLSlave-relay-bin.000003

               Relay_Log_Pos: 2256

        Relay_Master_Log_File: mysql-bin.000003

            Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

             Replicate_Do_DB: osyunweidb

         Replicate_Ignore_DB: mysql

          Replicate_Do_Table:

      Replicate_Ignore_Table:

1 row in set (0.00 sec)

注意查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上这两个参数的值为Yes,即说明配置成功!

 

配置完成

 

 

4.验证

1)进入master终端在student_manager 中创建表,然后在salve就可以看到同样的表了!

注意:坑!千万不能使用数据库工具连接master slave进行创建数据,否则是不会发生同步的!

 


 

 

 

 

 

 

 

 

 


你可能感兴趣的:(mysql)