您的位置:首页 > 数据库 > MySQL

Mysql Master/Slave的配置

2011-12-29 11:55 387 查看
MYSQL数据同步备份

A服务器: 192.168.18.112 主服务器master

B服务器: 192.168.18.113 副服务器slave

A服务器设置

#mysql –u root –p

mysql>grant replication slave,replication client on *.* to test@192.168.18.113

identified by '111111';

mysql>flush tables with read lock;

mysql>show master status;(读取相关的二进制文件和偏移量,记录下Position 和 File)

+—————————+————— +———————+——————+———+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————————+————— +———————+——————————+

|
mysql-bin.000012| 106 | db1 |mysql
|

+—————————+————— +———————+——————————+

mysql>unlock tables;

mysql>exit

上面是Master开放一个账号test 密码111111 给IP:192.168.18.113 有档案处理的权限

设定/etc/my.cnf

在[mysqld]区段内加入参数

log-bin=mysql-bin

server-id=1

binlog_do_db = myw(要同步的数据库)

binlog_ignore_db = mysql,test,information_schema (不需要同步的库)

default-character-set=utf8
(为了避免数据库编码不一致导致无法同步,统一规定编码)

重启A服务器mysql

B服务器设置

#mysql –u root –p

mysql>stop slave;

mysql>change master to

->master_host='192.168.18.112',

->master_user='test',

->master_password='111111',

->master_log_file='mysql-bin.000012',

->master_log_pos=106;

mysql>start slave;

mysql>exit

设定/etc/my.cnf

在[mysqld]区段加入

server-id = 2 (如果还有slave用户,他们的ID也随之增加,如server-id=3)

master-host = 192.168.18.112

master-user = root

master-password = 111111

replicate-do-db = myw

log-warnings

master-port=3306

master-connect-retry = 60

default-character-set=utf8(为了避免数据库编码不一致导致无法同步,统一规定编码)

在[mysql]区段加入

default-character-set=utf8
(为了避免数据库编码不一致导致无法同步,统一规定编码)

重启B服务器的MYSQL

#mysql –u root –p

>show slavestatus\G (查看复制状态,状态信息中Slave_IO_Running和Slave_SQL_Running应该都是yes)

change master to Master_Log_File='mysql-bin.000001',Master_Log_Pos=106;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: