想象一下你正在运营一个电商网站,"双十一"大促即将到来,突然单台MySQL服务器扛不住暴增的访问量,数据库响应越来越慢,最终直接宕机——订单数据丢失、用户无法支付,这绝对是一场灾难,通过配置MySQL主从复制,我们完全可以把这种风险降到最低,今天我就手把手带你在CentOS上完成MySQL密码登录和主从配置的全过程。
首先确保你的CentOS系统已经更新到最新:
sudo yum update -y
安装MySQL社区版(以MySQL 8.0为例):
sudo yum install mysql-server -y
启动MySQL服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
MySQL 8.0安装后会有临时密码,查看方式:
sudo grep 'temporary password' /var/log/mysqld.log
使用临时密码登录:
mysql -uroot -p
登录后立即修改密码(注意:MySQL 8.0有密码强度要求):
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES;
如果觉得密码策略太严格,可以临时调整(生产环境不建议):
SET GLOBAL validate_password.policy=LOW;
如果需要远程连接MySQL:
CREATE USER '远程用户名'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '远程用户名'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
记得在防火墙放行3306端口:
sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload
编辑MySQL配置文件:
sudo vi /etc/my.cnf
在[mysqld]段落下添加:
[mysqld] server-id = 1 log_bin = mysql-bin binlog_format = ROW binlog_do_db = 你要同步的数据库名 # 如果同步所有库则注释掉这行
重启MySQL服务:
sudo systemctl restart mysqld
登录MySQL创建复制账号:
CREATE USER 'repl'@'从服务器IP' IDENTIFIED BY '复制密码'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从服务器IP'; FLUSH PRIVILEGES;
查看主服务器状态,记录File和Position值:
SHOW MASTER STATUS;
同样编辑MySQL配置文件:
sudo vi /etc/my.cnf
添加配置:
[mysqld] server-id = 2 # 必须与主服务器不同 relay-log = mysql-relay-bin read_only = 1 # 从库设为只读
重启MySQL服务:
sudo systemctl restart mysqld
登录MySQL配置复制:
CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl', MASTER_PASSWORD='复制密码', MASTER_LOG_FILE='前面记录的File值', MASTER_LOG_POS=前面记录的Position值;
启动从库复制进程:
START SLAVE;
检查从库状态:
SHOW SLAVE STATUS\G
重点关注:
在主服务器上创建测试数据库或表:
CREATE DATABASE test_sync; USE test_sync; CREATE TABLE sync_test(id INT); INSERT INTO sync_test VALUES(1);
在从服务器上检查是否同步:
SELECT * FROM test_sync.sync_test;
主从连接失败:
同步位置错误: 如果主从数据不一致,可以在从服务器上重新配置:
STOP SLAVE; RESET SLAVE; # 然后重新执行CHANGE MASTER命令
从库写入导致错误: 确保从库是read_only状态,避免直接写入
大事务导致延迟: 考虑拆分大事务,或调整slave_parallel_workers参数
通过以上步骤,你已经成功在CentOS系统上配置了MySQL密码登录和主从复制,主从架构不仅能提高系统可用性,还能分担读压力,为你的应用提供更强大的数据支持,记得定期检查主从同步状态,确保数据一致性,当业务量继续增长时,你还可以考虑更复杂的集群方案,比如MySQL Group Replication或InnoDB Cluster。
本文由 成梧 于2025-08-01发表在【云服务器提供商】,文中图片由(成梧)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/503995.html
发表评论