首页 > 数据库 > MySQL > 正文

MySQL Replication 主从配置的示例

2024-07-24 12:39:55
字体:
来源:转载
供稿:网友

MySQL主从配置就是一台主服务器和一台备份从服务器了,从服务器会实时备份主服务器上更新修改或删除的数据了,下面我们一起来看配置方法.

mysql replication 主要通过复制二进制日志,在slave上执行master一样的来SQL来保持master 和slave的数据一致.

好处不必多说,第一个 master-slave的结构首先能实现读写分离,对于缓解数据库Server的鸭梨会起到一定好处,另外当master宕机的话,可以马上切到slave上边,可以提高系统的可用性.

1.mysql 的主从复制是通过 bin log来实现的,首先master要开启二进制日志,代码如下:

  1. server-id = 1 
  2. log_bin = /var/log/mysql/mysql-bin.log 
  3. binlog_ignore_db = mysql 

2.master 上要开一个专供复制的账号

grant file,select,replication slave on *.* to slave@'%' identified by '123456'; --我这里是有问题的,开了权限给所有的库 所有的机器,而且还设置了弱密码,不过做为测试机玩玩也未必不可.

3.slave 机器 设置一个 server-id

server-id = 2

4.设置复制信息

这里要先看一下当前 master 的binlog 记到哪里了,从哪个文件开始的哪一个位置,然后设置slave从这个地方开始复制,所以这个时候要保证 master 和 slave的数据是一样的,这样才能保证master和slave数据的一致性.

先在master端执行:show master status;代码如下:

  1. mysql> show master status; 
  2.     +------------------+----------+--------------+------------------+ 
  3.     | File                    | Position    | Binlog_Do_DB | Binlog_Ignore_DB | 
  4.     +------------------+----------+--------------+------------------+ 
  5.     | mysql-bin.000015 | 26560211 |                    | mysql                 | 
  6.     +------------------+----------+--------------+------------------+ 
  7. 1 row in set (0.00 sec) --Vevb.com 

得到当前的二进制日志文件和当前的位置,在 slave 端执行如下代码:

  1. change master to master_host='192.168.57.64'
  2.     master_user='slave'
  3.     master_password='123456'
  4.     master_log_file='mysql-bin.000015'
  5.     master_log_pos=26560211; 

最后 slave端 start slave;用 show slave status\G; 查看参数 Slave_IO_Running 和 Slave_SQL_Running,如果两个参数都是 yes,说明搞定.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表