MySQL 主从复制配置
MySQL 主从复制是一种数据库复制技术,它允许将数据从一台主服务器(master)复制到一台或多台从服务器(slave)。通过配置主从复制,可以实现以下好处:
数据冗余:当主服务器出现故障时,从服务器可以继续提供服务,避免数据丢失。 可扩展性:通过增加从服务器,可以提高数据库的处理能力。 负载均衡:将读取操作分配到从服务器,减轻主服务器的负载。配置步骤:
在主服务器上:
创建复制用户并授予适当的权限:
<code class="sql">CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';</code>
启用二进制日志:
<code class="sql">SET GLOBAL binlog_format='ROW';</code>
重启 MySQL 服务:
<code>service mysql restart</code>
在从服务器上:
停止 MySQL 服务:
<code>service mysql stop</code>编辑配置文件 (/etc/my.cnf):
server-id为一个唯一值,与主服务器不同。 设置
master_host为主服务器的 IP 地址或主机名。 设置
master_user和
master_password为复制用户的信息。 设置
replicate-do-db和
replicate-ignore-db来指定要复制和忽略的数据库(可选)。
启动 MySQL 服务:
<code>service mysql start</code>
在从服务器上执行以下命令,开始复制:
<code class="sql">CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='master_user', MASTER_PASSWORD='master_password'; START SLAVE;</code>
验证配置:
在主服务器上,执行SHOW SLAVE STATUS命令。输出应显示
Slave_IO_Running和
Slave_SQL_Running为
Yes。 在从服务器上,执行
SHOW MASTER STATUS命令。输出应显示主服务器相应的 binlog 位置。
