Skip to main content

 路由器设置 > 新闻资讯 >

MySQL主从配置

2014-03-29 23:03 浏览:

最近几天,因为在学习mysql,所以看了一些书。初看书本,感觉学过oracle之后内容相对简单不少,所以跳过了一些基础的知识,但是这也让我吃了点苦头。
 

学习mysql没过多久,我就开始尝试进行mysql主从配置,这是mysql冗余的基本配置。也是每个mysql、dba必须要掌握的知识。
 

前期环境
 

vmware虚拟机 centos6.4 Linux操作系统 mysql5.1.69server
 

1、准备两台虚拟机 分别安装同样的操作系统和同样的数据库(我是在虚拟机上克隆完成此项工作的);
 

2、配置ip master:192.168.121.100 slave:192.168.121.95.另外由于是克隆产生的机器,因此机器的mac地址还是相同的。刚开始的时候网卡起不来。后来上网查了一下资料,解决办法是将一台机器的mac地址换掉。也不是随便换,在操作系统内会有三个mac地址 分别对应eth0、eth1、eth2。差出来mac地址后,改写/etc/sysconfig/network-scripts/ifcfg-eth0内device为eth1,然后将mac地址替换。具体如何查到mac地址的 我忘了。
 

3、开始搭建主从。
 

更改主my.cnf
 

增加server-id=1(*注意,一定要在mysqld下面加,如果在最后加肯定不行,这里走过弯路特别注意*)
 

log-bin=mysql-bin(开启日志功能)
 

登录主数据库,为从服务器增加访问权限:grant slave all on *.* to slave@192.168.121.100 identified by '123456';
 

此时,使用show master status;应该就有显示了
 

4、更改备my.cnf
 

增加server-id=2
 

log-bin=mysql-bin
 

登录mysql
 

执行change master to
master_host='192.168.121.100',master_user='slave',master_password='123456',master_port=3306,master_log_file='show master status结果',master_log_pos=show master status结果(要注意的是此处引号严格执行,另外这条语句是在从服务器上执行的,在主上执行不行,这里走了最大的弯路)。
 

5、配置完毕,下面进行验证
 

验证我试过各种方法,都写一下把:mysql -h 192.168.121.100 -u root -p验证是否有权限登录

show variables like "%log%";验证开启了哪些日志

show master status;验证主是否好使 这个很主要

show slave status;验证备是否好使

其中slave_io_running  YES

slave_sql_running YES
 

很重要 这两个标志着主从配置的成功。