Mysql同步配置

主库 master:A

备库 slave:B


修改A的my.cnf

server-id = 1


修改B的my.cnf

server-id = 2


要求是slave的server-id要大于master的server-id,整数。



在A

1:创建用户slave_user

mysql> create user 'slave_user'@'xxx.xxx.xxx.xxx' identified by 'password';


给用户授权

mysql> grant REPLICATION SLAVE   on *.* to 'slave_user'@'xxx.xxx.xxx.xxx' identified by 'passwordr';

mysql>flush privileges;


在B

2 进行连接测试:

mysql  -uslave_user -ppassword  -h AIP

登录成功!


在A

3:纪录主库binlog位置

执行如下语句:

show master status;

记录目前的主库binlog所在的位置。



Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.001301 | 951491236 |              | mysql,test       |
+------------------+-----------+--------------+------------------+


在A

4:备份master现有的数据:

增加锁:

use dbname;

flush table with read lock;

导出主库数据;

mysqldump --opt  dbname>dbname.sql;

解锁:

unlock tables;


5:在slave进行数据初始化

tar 之后scp到备库,

在备库(B)执行 mysql dbname source <dbname.sql;

配置同步:

在B:

mysql> change master to

    -> master_host=’192.168.1.22′

    -> master_user=’slave_user’

    -> master_password=’password’

    -> master_log_file=’mysql-bin.001301′

    -> master_log_pos=951491236;


  master_host 是主服务器的主机名
  master_user 是主服务器创建用来同步的帐户
  master_password 是主服务器帐户的密码
  master_log_file  是通过show master status 查询出的主数据库目前正在使用的日志名
  master_log_pos  是日志目前所处的位置
  master_port      是主服务器的mysql数据库的端口号,如果是默认则可以不加。 
  replicate-do-db=dbname 可以特殊指定某一个或多个数据库的binlog来解析,进行同步。这个可以灵活选择要同步的数据库。


6:启动B的同步进程:

start slave;


show slave status\G;  查看同步状态。


 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes


则表示同步正常。

done!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值