Mysql主从配置

Mysql主从配置:
以两台机子来演示:主IP:192.168.88.188 从IP:192.168.88.189
两台机子上都安装MYSQL,这个就不演示了。
两边机子都把MYSQL启动。
在主上创建db1数据库。用命令rsync –av db1 192.168.88.189:/data/mysql/ 把数据同步到从上。

主上的配置:
vi /etc/my.cnf
在[mysqld]的下面修改下面代码:
server-id = 1 #默认的就是1,可以不用改,一般可以将1改成ip地址的最后一段,这里我就不改了!
log-bin=mysql-bin #将前面的#去掉!
binlog-do-db=db1 #需要同步的数据库
binlog-ignor-db=数据库名 #不同步的数据库(可选项)
改完配置后,重启mysql。

在主上给从数据库授权
mysql –uroot #进入主的数据库
mysql>grant replication slave on *.* to ‘rfyy’@’192.168.88.189’ identified by ‘123456’;
#用户名是rfyy,密码是123456
flush privileges; #刷新
flush tables with read lock; #锁定表
show master status; #主表的状态

+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000003 | 106 | db1 | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

等会用到这个东西的。

从上配置:
Vim /etc/my.cnf
server-id = 2 #这个数值不能和主一样
#log-bin=mysql-bin #不开启
#binlog_format=mixed #不开启
# replicate-do-db=db1 #可选参数,在此实例中,主上已经配置了,这就不用配了

Mysql –uroot #进入数据库
Slave stop #停掉从数据库

change master to master_host=’192.168.88.188′, master_port=3306, master_user=’rfyy’, master_password=’123456′,master_log_file=’mysql-bin.000003′, master_log_pos=106;

#master_host(主IP地址)
#master_port=3306(主MYSQL的端口)
#master_user=’rfyy’(前面配置授权的用户名)

#master_password=’123456(前面配置授权的密码)

#master_log_file=’mysql-bin.000003’(和show master status中的file一致)

#master_log_pos=106(和show master status中的Position 一致)

Slave start #启动从数据库
Show slave status\G #这条命令是查看,主从是否搭建好的
出现2个yes,如下:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes 则在一定程度上代表了主从ok!

最后一步,在主上取消数据库的锁定
Unlock table

此条目发表在linux分类目录,贴了, , 标签。将固定链接加入收藏夹。