然后编辑主数据库的my.ini文件
在[mysqld]节点中增加如下内容:
server-id=1 #指定唯一的ID,1至32,必须的
log-bin=mysql-log-bin #指定二进制日志存放路径,必须的
binlog-do-db=rep_test #指定要同步的数据库,必须的
#binlog-ignore-db=mysql #指定不要同步的数据库,如果指定了binlog-do-db就不用再指定该项
重启主数据库,然后在主数据库中建立一个备份账户
mysql>grant replication slave on *.* to slave@192.168.1.128 identified by 'slave'
mysql>flush privileges
PS:identified by 指定的slave是账号slave@192.168.1.128 的密码
显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status
在从数据库中创建新的数据库rep_test。
然后编辑从数据库的my.ini文件
在[mysqld]节点中增加如下内容:
server-id=2 #指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
replicate-do-db=rep_test #指定要同步的数据库,必须的
#replicate-ignore-db=mysql #指定不要同步的数据库,
重启从数据库,设置登录主数据库的账号和密码等信息,然后启动slave
mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000002',master_log_pos=120
mysql>start slave
查看从数据库的信息
mysql>show slave status \G
如果出现: Slave_IO_Running: YesSlave_SQL_Running: Yes以上两项都为Yes,那说明没问题了
在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的。譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止。介于这种情况,我们来学习一下mysql主从复制。使用mysql主从复制的好处有:
1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。
2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。
3、将主服务器上的数据复制到从服务器上,保护数据免受意外的损失。
环境描述:
新企业要搭建架构为主从复制的mysql数据库。
主服务器(mysql-master):IP地址:192.168.48.128,mysql已安装,没有用户数据。
从服务器(mysql-slave):IP地址:192.168.48.130,mysql已安装,没有用户数据。
主从服务器均可正常提供服务。
主从复制配置如下:
在主服务器上操作:
1)、确保/etc/my.cnf中有如下参数,没有的话需手工添加,并重启mysql服务。
[mysqld]
log-bin=mysql-bin 启动二进制文件
server-id=1 服务器ID
2)、登录mysql,在mysql中添加一个backup的账号,并授权给从服务器。
[root@localhost ~]# mysql -uroot –p123456 登录mysql
mysql>grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'创建backup用户,并授权给192.168.48.130使用。
3)、查询主数据库状态,并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。
本次环境:虚拟机下服务器:Ubuntu
14.04
LTS
数据库:
5.5.37
端口:3306
主IP:192.168.63.133
从IP:192.168.63.134
授权账号:
user:suxh
password:111111
好了交代完环境:我们直接配置:
第一步:主从两台服务器要有同样的数据库(需要同步的)这里用的是backup
数据库(不多说了,在同步开始前,把主库的复制一份到从库就行了)
第二步配置主(master)数据库
编辑/etc/my.cnf
主要是开启二进制日志
和设置要同步的数据库
等一些参数
#
binary
logging
format
-
mixed
recommended
binlog_format=mixed
binlog-ignore-db=mysql
binlog-do-db=backup
#
required
unique
id
between
1
and
2^32
-
1
#
defaults
to
1
if
master-host
is
not
set
#
but
will
not
function
as
a
master
if
omitted
server-id
=
1
参数解释下:
server-id
这个是唯一的不能跟从服务器相同。
binlog_format
二进制文件的格式
binlog_ignore-db
忽略的数据库
binlog-do-db
要同步的数据库
设置完了以后
重启数据库就可以了。
第三步从数据库:
同样修改/etc/my.cnf
在mysql
版本5.1.7
不支持master-host”类似的参数
所以这里只要配置server-id=2
就可以了
然后登陆从数据库设置
change
master
to
master_host='192.168.63.133',
master_user='suxh',
master_password='111111'
slave
start
基本配置就好了。这是我的简要笔记。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)