安装部署mysql主从复制环境
主从复制的准备操作
修改mysql配置文件
修改配置mysql的主配置文件 (主数据库)
修改配置mysql的主配置文件 (从数据库)
主从服务检测脚本
前期准备工作
shell脚本
安装部署mysql主从复制环境
实验环境:centos6
实验机器:2台
主从复制的准备操作
安装部署两台或多台mysql数据库
yum -y install mysql mysql-server
关闭防火墙和selinux
service iptables stop #关闭防火墙
setenforce 0 #临时关闭selinux
查看mysql的版本信息
mysql -V #输出mysql的版本信息
启动mysql服务,查看系统中是否存在mysql进程,并查看mysql的端口号
service mysqld start #centos6中MySQL启动使用mysqld
ss -anp |grep mysql
#ss命令可以用来获取socket统计信息,能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效
修改mysql配置文件
# 以下操作在主服务器上
修改配置mysql的主配置文件 (主数据库)
1.mysql主配置文件路径
vim /etc/my.cnf
2.配置文件内添加以下内容
server-id=1 # 主数据库id为1 主从值不得相同
log_bin=mysql-bin # 开启二进制日志
:wq #保存退出
3.重启mysql服务
service mysqld restart
查看mysql二进制日志信息
进入mysql
mysql -uroot # 原始情况下mysql中root默认的密码为空
执行的命令;
show master status;
在mysql中新建数据库
create database name;
在mysql中新建用户并授权
grant all on . to ‘sjl’@’%’ identified by ‘123’;
解释: 在master的数据库服务器中建立一个复制的账户,每个slave使用该账户链接master来进行复制,设置所有权限(根据具体情况自定)。
上面创建了一个sjl用户,密码是123。只允许在所有段的ip地址的登录。
修改配置mysql的主配置文件 (从数据库)
- mysql主配置文件路径
vim /etc/my.cnf
2.配置文件内添加以下内容
server-id=2 # 主数据库id为1 主从值不得相同
relay_log=relay-logs # 开启中继日志,可以自定义目录,mysql用户有权限即可
:wq #保存退出
3.重启mysql服务
service mysqld restart
以下内容在数据库内操作
查看中继日志的启动状态
show global variables like ‘%relay%’;
连接master服务器
change master to
master_host=‘11.11.11.12’,
master_user=‘sjl’,
master_password=‘123’,
master_log_file=‘master-bin.000001’,
master_log_pos=106;
选项解释:
master_host:master 服务器IP
master_user:master 服务器授权用户,也就是 Master 前面创建的那个用户
master_password:master 服务器授权用户对应的密码
master_log_file:master binlog 文件名
master_log_pos:master binlog 文件中的 Postion 值
手动启动复制线程:
start slave;
mysql主从效果图

测试
自行测试.
主数据库创建一个数据库,
从数据库查看
主从服务检测脚本
前期准备工作
安装邮件报警命令 mail
yum -y install mailx
配置
vi /etc/mail.rc在文件尾加上如下配置
set from=*****@163.com # 用那个邮箱发送
set smtp=smtp.163.com
set smtp-auth-user=*****@163.com
set smtp-auth-password=**** # 不是邮箱密码,是授权码
set smtp-auth=login
测试
[root@localhost ~]# echo “MySQL”|mail -s mysql ****[email protected]
内容 | mail -s 标题 接收邮箱
shell脚本
#!/bin/bash
数据库登录
mysql=“mysql -uroot -p1234”
while true
do
检测关键字
array=((((mysql -e “show slave status\\G”|egrep ‘_Running:|Behind_Master|Last_SQL_Errno’|awk ‘{ print $NF }’))
判断关键字
if [ “array[0]\”==\”Yes\”−a\”{array[0]}\” == \”Yes\” -a \”array[0]\”==\”Yes\”−a\”{array[1]}” == “Yes” -a “${array[2]}” == “0” ]
then
运行正常的输出
echo “MySQL 主从正常”
else
运行失败,发送报警信息
echo “MySQL 主从服务 报错 管理员及时处理”|mail -s mysql ******@qq.com
break
fi
sleep 10
done
测试脚本运行效果

MySQL主从复制+MySQLRouter部署测试
4个节点1、MySQLDB1 192.168.1.41 (MySQL主节点)2、MySQLDB2 192.168.1.42 (MySQL从节点)3、MySQLDB3 192.168.1.43 (MySQL从节点)4、MySQLRouter 192.168.1.47 (MySQLRouter服务节点)软件版本说明:1、操作系统 CentOS6.6_x86_6…
mysql主从复制自动化部署脚本
1、之前的脚本有一些局限性,这个脚本是稍微修改了一下的。#!/bin/bash#mysql安装包名MYSQL_VERSION=‘mysql-5.6.39-linux-glibc2.12-x86_64’#mysql安装的位置MYSQL_INSTALL_PATH=’/usr/local’#存放二进制包的路径SOFTWARE_PATH=’/opt/software’#1 步…
一键安装MySQL主从复制SHELL脚本
脚本思路: 在从库上远程备份主库数据,再在从库上进行数据恢复,同时启动从库.环境: CentOS6.5 已安装MySQL多实例,端口为3306 ,3307.现通过自动安装主从脚本将两实例做主从复制。#!/bin/bash./etc/rc.d/init.d/functionsif[$#-ne0];thenecho\”Usage:sh`basenam…
MySQL主从自动配置脚本
通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12#!/bin/bash#====================================================# Author: Mr.Song# Create Date: 2019-02-21# Description: auto confi…
mysql复制–主从复制配置_daicooper的博客-CSDN博客_mysql主从复制
主从复制的原理其实就是把主服务器上的 bin 日志复制到从服务器上执行一遍,这样…测试环境: 主节点:192.168.0.196 从节点:192.168.0.198mysql版本:mysql-…
检测mysql主从脚本_Qiao_qiqi的博客-CSDN博客
系统环境:centos7mysql主从已安装完毕 #!/bin/bashmysqL_shuzu=(mysql-e …wyl9527的博客 1690mysql主从复制自动化部署脚本1、之前的脚本有一些局限…