1、Mysql主从配置

MySQL的主备(主从)配置是一种常见的数据高可用性和数据备份方案,主要用于实现数据的实时复制,确保数据的一致性和系统的容错能力。下面我将详细介绍如何配置MySQL的主备环境。

1.1、 环境准备

确保你的服务器上已经安装了MySQL,并且至少有两台服务器,一台作为主服务器(Master),另一台作为从服务器(Slave)。

2. 配置主服务器(Master)

修改配置文件

在主服务器的MySQL配置文件(通常是my.cnfmy.ini)中添加或修改以下配置:

 [mysqld] server-id = 1                   # 唯一的服务ID,Master设为1 log-bin = mysql-bin            # 启用二进制日志 binlog-do-db = your_database   # 需要复制的数据库名,如果要复制所有数据库,可以使用 *

重启mysql服务

systemctl restart mysqld

创建复制用户

登录MySQL,创建一个用于复制的专用用户:

 # 创建用户并设置密码 # 创建一个名为 replicator 的用户,@'%' 表示该用户可以从任何主机(远程或本地)连接数据库 IDENTIFIED BY 'password'•:为用户设置密码为 password CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # MySQL 中用于配置复制权限的 SQL 命令,命令解析如下: # GRANT REPLICATION SLAVE•:授予复制权限,允许用户进行数据同步操作。 # ON *.*:表示对所有数据库和表生效。 # TO 'replicator'@'%':将权限授予用户 replicator,并允许该用户从任何主机连接(% 表示任意主机) GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; ​ FLUSH PRIVILEGES; # 配置生效

查看二进制日志位置和文件名

SHOW MASTER STATUS;

记录下FilePosition的值,稍后配置从服务器时会用到。

3. 配置从服务器(Slave)

修改配置文件

在从服务器的MySQL配置文件中添加或修改以下配置:

 [mysqld] server-id = 2                   # 唯一的服务ID,Slave设为2,与Master不同 relay-log = slave-relay-bin    # 中继日志文件名,可选配置 read_only = 1                  # 从服务器设置为只读模式,可选配置,防止误操作修改数据

重启MySQL服务

systemctl restart mysqld

配置复制源(Slave连接Master)

登录从服务器的MySQL,执行以下命令:

 CHANGE MASTER TO     MASTER_HOST='master_ip',       # 主服务器IP地址     MASTER_USER='replicator',      # 复制用户名称     MASTER_PASSWORD='password',    # 复制用户密码     MASTER_LOG_FILE='mysql-bin.000001',  # 从SHOW MASTER STATUS得到的File值     MASTER_LOG_POS=123;                 # 从SHOW MASTER STATUS得到的Position值

注意替换master_ippasswordmysql-bin.000001123为实际的IP地址、密码和日志位置。

启动复制线程

SHOW SLAVE STATUSG;

检查Slave_IO_RunningSlave_SQL_Running两个字段是否都为Yes,以确认复制正常运行。

4、测试和验证配置

在主服务器上执行一些数据库操作,然后检查从服务器上的相应数据库是否同步了这些操作。如果一切正常,你的MySQL主备配置就成功了。

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]