本文共 2219 字,大约阅读时间需要 7 分钟。
在三台主机(chen2/10.110、chen3/10.120、chen4/10.130)中安装MySQL数据,其中chen2/10.110作为主MySQL服务器,其余两台作为从MySQL服务器。以下将详细介绍主MySQL数据库的部署和配置过程。
在主MySQL服务器上部署MySQL数据库脚本,可以通过一键部署脚本完成对应版本的MySQL数据库安装。安装完成后,系统将自动配置数据库环境,包括数据目录、日志文件和socket文件等。
在主MySQL服务器上修改配置文件,开启二进制日志功能,并进行其他必要的配置。具体操作如下:
打开配置文件:vim /etc/my.cnf.d/mysql-server.cnf
添加以下内容到配置文件末尾:
[mysqld]server-id=1skip_name_resolve=1log-bin=somepath/mysql.sock # 根据实际路径调整datadir=somepath/mysql # 根据实际路径调整log-error=somepath/mysql.log # 根据实际路径调整pid-file=/tmp/mysql.sock
确保server-id
设置为主机的IP地址,以避免与其他主机冲突。
保存并退出编辑器。
为了实现主从数据库的复制功能,需要在主MySQL服务器上创建一个具有复制权限的账号。以下是具体操作步骤:
CREATE USER 'repluser'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%;
SELECT user, host, authentication_string FROM mysql.user;
完成配置后,需要验证主MySQL服务器的二进制日志是否正常运行。可以通过以下命令查看二进制日志状态:
SHOW MASTER STATUS\G
从MySQL数据库的配置与主MySQL服务器有所不同,主要区别在于从服务器的读写权限设置和复制功能的开启。
在从MySQL服务器上修改配置文件,开启二进制日志功能,并设置为仅读模式。具体操作如下:
vim /etc/my.cnf
[mysqld]server-id=2skip_name_resolve=1log-bin=somepath/mysql.sock # 根据实际路径调整datadir=somepath/mysql # 根据实际路径调整log-error=somepath/mysql.log # 根据实际路径调整pid-file=/tmp/mysql.sockread_only=1
在从MySQL服务器上配置主从复制,确保从服务器能够连接到主服务器并启动复制线程。具体操作如下:
使用MySQL命令设置从服务器的主服务器信息:
CHANGE MASTER TO MASTER_HOST='192.168.10.110', MASTER_USER='repluser', MASTER_PASSWORD='123456', MASTER_PORT=3306, MASTER_LOG_FILE='chen2-bin.000002', MASTER_LOG_POS=157;
启动从服务器的复制线程:
START REPLICA;
重启MySQL服务:
service mysqld restart
验证从节点是否正常接收数据。可以通过以下命令查看从节点的复制状态:
SHOW REPLICA STATUS\G
此外,还可以查看当前活跃的连接线程:
SHOW PROCESSLIST;
在实际运行中,可能会遇到从节点因数据冲突或网络问题而阻塞的情况。为了避免这种情况,可以在从节点上设置仅读权限,防止写入操作导致的冲突。
查看当前从节点的读写状态:
SHOW VARIABLES LIKE 'read_only%';
确认从节点上设置为仅读模式:
SELECT @@global.read_only;
如果需要修改,可以通过以下命令设置为可写模式:
SET GLOBAL read_only=0;
当从节点出现阻塞时,可以采取以下步骤进行恢复:
关闭复制线程:
STOP REPLICA;
删除冲突数据:
DELETE FROM table_name WHERE ...; # 根据具体情况调整SQL语句
重启复制线程:
START REPLICA;
查看从节点状态,确保复制已恢复:
SHOW REPLICA STATUS\G
通过以上步骤,可以完成主MySQL数据库的配置以及从MySQL数据库的设置,实现主从数据库的数据复制功能。在实际应用中,建议定期备份数据并对配置文件进行验证,以确保数据库运行稳定。
转载地址:http://mtbfk.baihongyu.com/