Mysql 部署mysql主从同步

  • 什么是mysql主从同步

主:正在被客户端访问的数据库服务器,被称作主库服务器。

从:自动同步主库上的数据的数据库服务器,被称作从库服务器。

  • 环境准备

1. 主从同步未配置之前,要保证从库上要有主库上的数据。

这里需要说的是,主库和从库上的数据并不是要一定全部相同的,从库数据是可以多于主库的,是一种包含关系。

2. 禁用selinux             setenforce 0 

3. 关闭防火墙服务       systemctl stop firewalld

4. 物理连接正常          ping -c2 192.168.4.51/52

5. 数据库正常运行       管理员可以从本机登录

  • 配置主库

    1. 创建用户授权

mysql> grant replication slave on *.*
-> to
-> repluser@"192.168.4.52"
-> identified by "123456"

    2. 启用binlog日志

]# vim /etc/my.cnf
[mysqld]
server_id=51
log-bin=master51
binlog-format="mixed"
]# systemctl restart mysqld
]# ls /var/lib/mysql/master51.*       ##/var/lib/mysql/master51.000001  /var/lib/mysql/master51.index

    3. 查看正在使用的binlog日志信息

]# mysql -uroot -p123456
mysql> show master status;
  • 配置从库

    1. 验证主库的用户授权

]# mysql -h192.168.4.51 -urepluser -p123456
mysql> show grants;
mysql> quit;

    2. 指定server_id

]# vim /etc/my.cnf
[mysqld]
server_id=52
]# systemctl restart mysqld

    3. 数据库管理员本机登录,指定主数据库服务器的信息

]# mysql -uroot -p123456
mysql> change  master  to
-> master_host="主库ip地址",
-> master_user="主库授权用户名",
-> master_password="授权用户密码",
-> master_log_file="主库binlog日志文件名",
-> master_log_pos=binlog日志文件偏移量;

    4. 启动slave进程

mysql> start slave;

    5. 查看进程状态信息

mysql> show slave status\G;
Slave_IO_Running: Yes                 //IO线程和SQL线程都是YES就可以了
Slave_SQL_Running: Yes
  • 相关命令
mysql> show slave status;              //显示从库状态信息
mysql> show master status;             //显示本机的binlog日志文件信息
mysql> show processlist;               //查看当前数据库服务器上正在执行的程序
mysql> start slave;                    //启动slave 进程
mysql> stop slave;                     //停止slave 进程

你可能感兴趣的:(学习之路)