MySQL配置一主一从,实现高可用性(mysql 一主一从)

MySQL配置一主一从,实现高可用性

MySQL数据库作为目前最为流行的关系型数据库之一,广泛用于各种大型企业级应用中。但是,随着数据量的增加和访问量的提升,单节点部署的MySQL已经无法满足高可用性的需求。因此,配置一主一从的MySQL集群,已经成为保证数据的可靠性和高可用性的最佳选择。

本文将分享如何通过配置一主一从的MySQL集群,来实现高可用性。

一、安装MySQL

在主机和从机上都要安装MySQL,并配置好相关的环境变量。

二、修改主机的配置文件

1.在主机上,打开MySQL配置文件my.cnf,修改如下参数:

[mysqld]
server-id=1 # 主机的唯一ID
log-bin=/var/log/mysql/mysql-bin.log # 启用二进制日志,记录所有的操作记录
binlog-do-db=mydb # 指定要同步的数据库名称

2.重启MySQL服务:systemctl restart mysqld

三、修改从机的配置文件

1.在从机上,打开MySQL配置文件my.cnf,修改如下参数:

[mysqld]
server-id=2 # 从机的唯一ID
relay-log-index=/var/lib/mysql/relay-bin.index # 从机的日志序号文件
relay-log=/var/lib/mysql/relay-bin # 从机的中继日志文件,存储主机的二进制日志复制信息
read-only=on # 从机设置为只读,保证不会影响主机的操作

2.重启MySQL服务:systemctl restart mysqld

四、在主机上授予从机权限

在主机上执行如下命令,授予重复用户权限。

grant replication slave on *.* to 'slave'@'从机IP' identified by 'password';

五、在从机上启动复制服务

在从机上执行如下命令,开启复制服务,连接到主机的MySQL服务。

change master to master_host='主机IP',master_user='slave',master_password='password',master_log_file='mysql-bin.000001',master_log_pos=0;
start slave;
show slave status \G;

检查启动的复制服务是否正常工作,可以通过命令show slave status \G来查看。

六、测试主从复制

在主机上创建一个数据库(mydb),并在其上创建一个表(mytable),往表mytable中插入一条数据。

在从机上查看已同步的数据库、表和数据,验证主从复制是否正常工作。

七、总结

通过以上步骤,我们成功地配置了一主一从的MySQL集群,实现了高可用性。整个工程步骤非常简单,只需要稍加配置,就能够保证系统的可靠性,提升用户体验,为企业提供更好的服务。

下面是一主一从的MySQL集群的完整配置文件:

主机配置文件my.cnf:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
binlog-do-db=mydb
# Disabling symbolic-links is recommended to prevent assorted security risks
# symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

从机配置文件my.cnf:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=2
relay-log-index=/var/lib/mysql/relay-bin.index
relay-log=/var/lib/mysql/relay-bin
read-only=on
# Disabling symbolic-links is recommended to prevent assorted security risks
# symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

数据运维技术 » MySQL配置一主一从,实现高可用性(mysql 一主一从)