手把手教你配置MySQL主从同步

Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。

MySQL支持的复制类型:

(1).基于语句的复制: 在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。一旦发现没法精确复制时,会自动选着基于行的复制。
(2).基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 从mysql5.0开始支持
(3).混合类型的复制: 默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。

实验环境 (操作系统均为CentOS6.8)

  • 主数据库:192.168.100.10
  • 从数据库:192.168.100.20

1. 安装启动数据库,并设置密码

yum -y install mysql mysql-server mysql-devel
service mysqld restart   #启动数据库
mysqladmin -u root password '123456'   #设置root用户密码

2.修改主库my.cnf主要设置个不一样的ID,以及同步的数据库的名字,我一般用vim 来完成,vim /etc/my.cnf 在[mysqld]中加入内容如下

server-id=1  #添加一个唯一的id
log-bin=binlog #启用日志
port=3306 
重启服务使配置生效
service mysqld restart

3.登录主库赋予从库权限账号,允许用户在主库上读取日志(用户名:admin,密码:123456)

mysql -uroot -p123456
grant replication slave on *.* to 'admin'@'192.168.100.20' identified by '123456';

4.锁主库表,显示主库信息

flush tables with read lock;
显示主库信息
show master status;
mysql> show master status; 
+---------------+----------+--------------+------------------+ 
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+---------------+----------+--------------+------------------+ 
| binlog.000002 |      106 | haocheng   |                  | 
+---------------+----------+--------------+------------------+ 
1 row in set (0.00 sec) 
(记录file、position,从库设置将会用到)

5.修改从库my.cnf ,如下:

vim /etc/my.cnf
[mysqld]
#slave
server-id=2
#master-host=192.168.100.10
#master-user=admin
#master-password=123456
(注释内容为了方便以后管理)
重启服务使配置生效
service mysqld restart

6.在从库上设置同步

mysql -u root -p123456
mysql>slave stop;
mysql>change master to master_host='192.168.100.10',master_user='admin',master_password ='123456',master_log_file='binlog.000002',master_log_pos=106
mysql>slave start;

7.查看从库状态

mysql>show slave status\G;
Slave_IO_Running:YES
Slave_SQL_Running:YES  #当这两条语句均为YES则为同步配置成功

8.最后进行测试,在主库创建数据库,从库成功进行同步。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容