数据库主从同步
主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。
镜像站主从同步
镜像站数据库主从同步,主要是将saas服务器的数据库同步到镜像站,saas服务器为主,镜像站为从,数据同步使用statement模式,将主服务器执行的sql语句同步到从服务器,从服务器执行相应的sql。
设置主从同步步骤
主数据库创建用于同步的帐号
创建同步的帐号,这个帐号可以对主数据库进行增删改查等操作,方便操作,对该帐号赋予全部权限。测试从服务器可以正常连接
主数据库修改配置文件,重启数据库服务
修改主数据库配置文件,一般情况下配置文件的位置为:
/etc/my.cnf
。'[mysqld]' 组中添加主服务器配置[mysqld] . . . server-id = 104 # 服务器id,自定义设置。主要用于区分不同的主从服务器 log-bin=mysql-bin #开启二进制日志 binlog-do-db = saas # 需要同步的数据库,设置多行,对应多个数据库同步
service mysqld restart
主数据库暂停(保险情况),查看当前状态,导出数据
#查看主服务器状态 mysql> show master status; +-------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------+----------+--------------+------------------+-------------------+ | master-bin.000001 | 154 | test | | | +-------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
service mysqld stop mysqldump -u xxxx --databases=xxxx -p >> mysqldump.sql
从数据库配置
从数据库配置修改较为简单,只用修改server-id即可。
[mysqld] . . . server-id = 2
重启mysql服务
service mysqld restart
从数据库导入数据
将数据文件从主服务器上复制到从服务器,并将数据导入到数据库
mysql -u xxxx -D [数据库名] -p < mysqldump.sql
从数据库开启从同步
从数据库连接到主数据库
change master to master_host='192.168.17.130', master_port=3306, master_user='[主服务器上创建的用户]', master_password='[密码]', master_log_file='master-bin.000001', # 主服务器上的master status master_log_pos=154; # 主服务器上的master当前位置
开启主从同步
start slave
关闭主从同步
stop slave
查看当前主从状态
show slave status \G;
主数据库恢复运行
service mysqld start
原创文章,转载请注明出处~ 以上就是本文的全部内容啦,有什么疑问欢迎在下方评论区留言嗷,收到通知会及时回复~
文章浏览总量:772
(非即时 )
Comments