1、Mysql主从配置
MySQL的主备(主从)配置是一种常见的数据高可用性和数据备份方案,主要用于实现数据的实时复制,确保数据的一致性和系统的容错能力。下面我将详细介绍如何配置MySQL的主备环境。
1.1、 环境准备
确保你的服务器上已经安装了MySQL,并且至少有两台服务器,一台作为主服务器(Master),另一台作为从服务器(Slave)。
2. 配置主服务器(Master)
修改配置文件
在主服务器的MySQL配置文件(通常是my.cnf或my.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;
记录下File和Position的值,稍后配置从服务器时会用到。
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_ip、password、mysql-bin.000001和123为实际的IP地址、密码和日志位置。
启动复制线程
SHOW SLAVE STATUS\G;
检查Slave_IO_Running和Slave_SQL_Running两个字段是否都为Yes,以确认复制正常运行。
4、测试和验证配置
在主服务器上执行一些数据库操作,然后检查从服务器上的相应数据库是否同步了这些操作。如果一切正常,你的MySQL主备配置就成功了。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |