
MySQL主从复制
保存脚本为 添加脚本执行权限: 定期运行脚本,可以使用
发布日期:2021-05-15 06:52:21
浏览次数:17
分类:精选文章
本文共 1997 字,大约阅读时间需要 6 分钟。
MySQL 主从复制服务器配置指南
作为数据库管理员,我决定详细记录一下mysql主从复制的配置步骤。主从复制是一种高效的数据库管理方式,可以帮助我们有效地管理数据库事务,实现数据的主从同步。
1. 主从服务器基本配置
第一步:确保版本一致
确保主从服务器的mysql版本一致。你可以通过以下命令查看版本:
mysql --version
如果版本不一致,先升级到最新版本。
第二步:初始化数据库并启动mysql
初始化数据库时,可以选择自动启动mysql。执行以下命令:
/etc/init.d/mysql start --sysvinit
第三步:设置root密码
为避免安全隐患,建议设置root密码。执行以下命令并根据提示设置密码:
mysqlctl setrootpassword
2. 配置主服务器
添加Binlog参数
修改my.cnf文件,开启二进制日志:
nano /etc/my.cnf
添加以下参数:
[mysqld]log-bin=mysql-binserver-id=1
3. 配置从服务器Slave
修改Slave配置
修改Slave的my.cnf文件,将其转换为从服务器。执行以下命令:
nano /etc/my.cnf
给my.cnf加上以下参数:
[mysqld]log-bin=mysql-binserver-id=2
4. 启动并重启数据库
以下命令用于重启数据库服务:
/etc/init.d/mysql restart
5. 创建replication账户并授权
在主服务器上创建账户
使用root账户登录,执行以下命令创建一个专门用于复制的账户:
mysql -uroot -pmttang
添加如下权限:
GRANT REPLICATION SLAVE ON *.* TO 'syncuser'@'192.168.145.226' identified by 'secret123';
6. 检查主服务器状态
确认主服务器的状态是否正常:
mysql -uroot -pSHOW MASTER STATUS\G
期望输出显示:Slave_IO_State: Waiting for master to send event
7. 配置从服务器Slave
键配置参数
在从服务器上启动Slaving服务,执行以下命令:
mysql -uroot -pCHANGE MASTER TO MASTER_HOST='192.168.145.222',MASTER_USER='syncuser',MASTER_PASSWORD='secret123',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=308;
启动replication服务:
START SLAVE;
8. 检查从服务器状态
确保从服务器的IO和SQL服务都正常运行。执行以下命令:
mysql -uroot -pSHOW SLAVE STATUS\G
如果看到Slave_IO_Running: Yes
和Slave_SQL_Running: Yes
,说明配置成功。
使用Shell脚本监控Slave状态
为了确保主从复制运行稳定,可以编写一个简单的Shell脚本来监控Slave的状态。以下是一个示例脚本:
#!/bin/bash638port=3306master_host=192.168.145.222sync_user=syncuserstorage_host=slave1.example.comalarm_recipients="admin@example.com"# 检查Slave状态mysql -h $master_host -u $sync_user -p --execute "SHOW SLAVE STATUS"if [ $? != 0 ]; then echo "主从服务器状态异常,请检查Slave服务状态。" mail -s "主从复制监控警报" ${alarm_recipients}fi# 检查数据库存活连接mysql -h $storage_host -u root -p -e "SELECT 1"if [ $? != 0 ]; then echo "数据库存活连接异常,请及时处理。" mail -s "数据库存活连接异常" ${alarm_recipients}fi
###Shell脚本调用说明
check_slave_status.sh
。chmod 755 check_slave_status.sh
crontab
定时任务调度。这将在检测到主从服务器状态异常时,发送短信警报,帮助你及时发现问题并进行修复。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月08日 01时01分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
键盘事件
2019-03-11
注册页面案例
2019-03-11
np.bincount(x)的简单解释
2019-03-11
LeetCode Top-100 T22-括号生成
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
JAVA 多线程
2019-03-11
Java的 arraylist类【具体案例】
2019-03-11
牛客-链表中环的入口节点(Java)
2019-03-11
解决微信小程序中 calc 失效问题
2019-03-11
JS数组去重的方法
2019-03-11
堆的应用_topK算法和堆排序
2019-03-11
最大半连通子图
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11
跳台阶
2019-03-11
另类加法,走方格的方案数,最近公共祖先
2019-03-11
[Java Path Finder][JPF学习笔记][7]JPF输出详细程度设置
2019-03-11
GitHub完整记录数据库GHTorrent的下载和安装经验
2019-03-11
设计模式—— 三:依赖倒置原则
2019-03-11
SpringBoot打包之后乱码
2019-03-11
因SGA分配错误无法启动数据库
2019-03-11