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

mysql主从同步设置

2013-12-12 17:17 465 查看
我的是实验环境是master:centos mysql(5.1)192.168.1.105

slave : ubuntu mysq'l(5.4)192.168.1.102 从数据库必须要版本高于主库。

实验前先确认两个mysql可以互相连接对方。

在主库上的操作:

创建一个用户:我们粗糙点 slave@% 密码123456,给权限。

编辑my.cnf文件

vi /etc/my.cnf

添加

server-id=1

并开启log-bin二进制日志文件

log-bin=mysql-bin

注:需要把默认的server-id=1去掉

mysql下得到binlog日志文件名和偏移量

mysql>show master status;

+——————+———-+————–+——————+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+——————+———-+————–+——————+

| mysql-bin.0000010 | 106| | |

+——————+———-+————–+——————+

这个file和position就是,后面slave配置中会用到;

在从库上的操作:

2.1、编辑my.cnf文件

vi /etc/my.cnf

添加

server-id=2

注:需要把默认的server-id=1去掉

2.2、启动从数据库

mysqld_safe –user=mysql &

2.3、对从数据库进行相应设置

mysql> change master to

-> master_host=’192.168.1.105′

-> master_user=’slave’

-> master_password=’123456’

-> master_log_file=’mysql-bin.0000010′

-> master_log_pos=106;

mysql>start slave;

mysql>show slave status\G;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes这两参数都yes了基本上就配置成功了。

贴两个我遇到的问题:

Slave I/O: error connecting to master 'backup@192.168.1.x:3306' - retry-time: 60 retries: 86400, Error_code: 1045类似这种,maybe你的username
,passwd之类的写错了吧

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' 这种的话,看看你的binlog和position是否写错

1、在主服务器test数据库中创建user表

mysql>use test;

mysql>create table user(id int);

2、在从服务器中查看user表

mysql>use test;

mysql> show tables like ‘user’;

+———————-+

| Tables_in_test(user) |

+———————-+

| user |

+———————-+

1 row in set (0.00 sec)

说明主从数据同步成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: