mysql的主从复制

来源:互联网 发布:淘宝直通车入门教程 编辑:程序博客网 时间:2024/06/10 06:10

mysql的主从复制

一. 在两台机器上分别安装mysql(安装步骤可自行百度)

其中一台mysql作为主数据库,另外一台作为从数据库

安装完成后找到配置文件(Linux下是my.cnf,Windows下是my.ini)

主数据库配置

在配置以前记得给主服务器授权一个可远程登录的user

授权语句

GRANT ALL PRIVILEGES ON shandong.* TO 'user_01'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

#===========================配置主从同步 begin==============================server-id=27log-bin=mysql-bin#relay_log= mysql-relay-bin#log_slave_updates = 1binlog-do-db=mstest      //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名binlog-ignore-db=mysql  //要忽略的数据库#===========================配置主从同步 end==============================

保存后重启数据库

查看主数据库参数,执行sql

show MASTER STATUS

记住这个File字段,稍后要用

从服务器配置

修改配置文件,新增如下内容
#=================================mysql主从配置 begin====================================log_bin           = mysql-binserver_id         = 2relay_log         = mysql-relay-binlog_slave_updates = 1read_only         = 1#=================================mysql主从配置 end====================================

保存后重启

然后从数据库配置连接到主数据库(用刚才授权的用户连接)

在mysql中运行sql语句:

CHANGE MASTER TO MASTER_HOST='192.168.1.111', MASTER_USER='user_01',MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
MASTER_HOST:  主数据库连接的ip
MASTER_USER:  连接使用的账户
MASTER_PASSWORD: 用户连接的密码
运行后查看

SHOW SLAVE STATUS

注意以下两个字段

 Slave_IO_Running
 Slave_SQL_Running 这时候他俩都是No

然后执行如下sql启动奴隶线程

START SLAVE;

执行成功后再查看 SHOW SLAVE STATUS

Slave_IO_Running
 Slave_SQL_Running 这时候他俩都是Yes


在主数据库上执行一个新建数据库的语句,执行成功后,在从服务器上查询该数据库,如果能查找到,表示配置成功


这样配置的结果是当主服务器发生变化时,从服务器也会变化,但是从服务器变化时,主服务器不会改变


如果想要主数据库改变某个数据库时,对应的数据库发生改变。主数据库的其他数据库发生改变,从数据库不改变

那就需要接下来的配置了

主数据库配置加上如下语句

binlog-do-db=mstest     //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名binlog-ignore-db=mysql  //要忽略的数据库

从数据库加上如下配置
replicate-do-db=mstest      //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名replicate-ignore-db=mysql  //要忽略的数据库