1 / 12
文档名称:

mysql主从复制.docx

格式:docx   大小:73KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

mysql主从复制.docx

上传人:1557281760 2018/3/8 文件大小:73 KB

下载得到文件列表

mysql主从复制.docx

文档介绍

文档介绍:MySQL主从复制
MySQL主从复制
问题
,实现主-->从同步。
、写入,Slave服务器只允许SQL查询。
方案
使用2台RHEL ,如图-1所示。,负责提供同步源;,通过调取主服务器上的binlog日志,在本地重做对应的库、表,实现与主服务器的AB复制(同步)。

提前为两台MySQL服务器安装好MySQL-server、MySQL-Client软件包,并为数据库用户root修改密码;Linux客户机上则只需安装MySQL-Client软件包即可。
#yum -y install mysql-server mysql
#mysql -uroot -p
mysql> update user set password=PASSWORD('Navinfo') where user='root';
mysql>flush privileges;
mysql>quit
实现

为了在启用binlog日志及同步之前保持主、从库的一致性,建议进行初始化——备份主服务器上现有的库,然后导入到从服务器上。
当现有库、表都采用MyISAM引擎时,可执行离线备份、恢复,这样更有效率;否则,可通过mysqldump等工具来实现库的导出、导入。
1)备份MySQL Master()上现有的库
如果服务器已经启用binlog,建议对日志做一次重置,否则可忽略:
[******@MASTER ~]# mysql -u root -p
Enter password: //以数据库用户root登入
.. ..
mysql> reset master; //重置binlog日志
Query OK, 0 rows affected ( sec)
mysql> quit //退出mysql> 环境
Bye
以备份mysql库、test库为例,导出操作如下:
[******@MASTER ~]# mysqldump -u root -p -B mysql test > /root/
Enter password: //验证口令
[******@MASTER ~]# ls -lh /root/ //确认备份结果
-rw-r--r--. 1 root root 577K 1月 16 11:50 /root/
2)在MySQL Slave()上导入备份的库
先清理目标库,避免导入时冲突。主要是采用InnoDB引擎的库,授权库mysql多采用MyISAM引擎,可不做清理。
[******@SLAVE ~]# mysql -u root -p
Enter password: //以数据库用户root登入
.. ..
mysql> DROP DATABASE test; //删除test库
Query OK, 0 rows affected ( sec)
mysql> quit //退出mysql> 环境
Bye
使用scp工具下载备份文件:
[******@SLAVE ~]# scp MASTER:/root/ ./
******@MASTER's password: //验证对方系统用户root的口令
100% 577KB 00:01
[******@SLAVE ~]# ls -lh //确认下载结果
-rw-r--r--. 1 root root 577K 1月 16 12:00
执行导入操作:
[******@SLAVE ~]# mysql -u root -p <
Enter password: //验证口令
导入成功后,可重新登入 mysql> 环境,确认清理的目标库已恢复:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test | //目标库test已恢复
+-----------------