网站建设对企业带来什么作用,什么是二级网站推广,html中文模板,企业做年度公示在哪个网站一、主MySQL数据库的配置 分别在三台主机#xff08;chen2/10.110、chen3/10.120、chen4/10.130)中安装mysql数据#xff0c;其中chen2/10.110作为主MySQL服务器#xff0c;其余两台作为从MySQL服务器。
1、在主机上部署mysql数据库 详细的请看上一篇#xff1a;mysql数据…一、主MySQL数据库的配置 分别在三台主机chen2/10.110、chen3/10.120、chen4/10.130)中安装mysql数据其中chen2/10.110作为主MySQL服务器其余两台作为从MySQL服务器。
1、在主机上部署mysql数据库 详细的请看上一篇mysql数据库的备份与恢复-CSDN博客
其上含部署mysql数据库脚本可以一键部署对应版本的MySQL数据库。
2、修改相应的配置 在主mysql服务器的配置中进行修改开启主服务器的二进制日志功能设置其 server_id 为本机IP地址防止与其他主机冲突关闭其域名解析的功能。
vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id1
skip_name_resolve1
log-bin
socket/data/mysql/mysql.sock
datadir/data/mysql
log-error/data/mysql/mysql.log
pid-file/tmp/mysql.sock
3、主mysql数据库中创建账号和密码 mysql数据库的主从复制是基于账号和密码来进行的在主服务器中创建有复制权限的账号
create user repluser%;
alter user repluser% identified with mysql_native_password by 123456;
GRANT REPLICATION SLAVE ON *.* TO repluser%; 这里是使用的老式的方法来设置密码用来兼容不同版本的从服务器
进行检测是否吵架呢成功
select user,host,authentication_string from mysql.user; 查看主服务器的二进制日志是否开启
show master status; 二、从MySQL数据库的配置
1、修改从mysql数据库的配置文件 开启二进制日志功能设置其服务器id 跳过域名解析权限设置为仅读
vim /etc/my.cnf
[mysqld]
server-id2
skip_name_resolve1
log-bin
socket/data/mysql/mysql.sock
datadir/data/mysql
log-error/data/mysql/mysql.log
pid-file/tmp/mysql.sock
read_only 2、主从相连
在从节点上使用有复制权限的用户连接至主服务器并启动复制线程
修改完配置文件记得重启服务
service mysqld restart
登录从MySQL控制台进行修改
change master to- master_host192.168.10.110,- master_userrepluser,- master_password123456,- master_port3306,- master_log_filechen2-bin.000002,- master_log_pos157; 在上面设置的主服务器的IP地址、连接用户、用户的密码、主服务器的端口、二进制日志的位置节点、从哪个位点开始
3、开启从节点线程
先检测一下从节点的线程状态信息
SHOW REPLICA STATUS\G 其状态信息与上面设置的保持一致
开启从节点的主从同步线程
START REPLICA;
检测从节点的线程状态信息
SHOW REPLICA STATUS\G 查看主从节点开启的线程
show processlist;
从服务器 主服务器 4、检验数据是否正常同步
先查看之前主服务器中创建用户 repluser的权限确保其具备相应的权限
select user,host,authentication_string from mysql.user; 在主服务器中创建数据库test 从服务器中进行查看数据是否同步 在主数据库test中吵架呢表tab1
create table tab1 (id int primary key,name char(24)); 从服务器中查看 表中添加数据
insert into tab1 values (1,aaa),(2,bbb),(3,ccc); 5、新建从MySQL服务器使其关联主MySQL数据库
先在原主数据库中备份数据这里直接使用脚本进行数据的备份
数据备份详情请看mysql数据库的备份与恢复-CSDN博客
#!/bin/bash
# 这是一个实战分库的备份脚本
#
TIMEdate %F_%H-%M-%S
DIR/backup
PASS123456[ -d $DIR ] || mkdir $DIRfor DB in mysql -u root -p$PASS -e show databases | grep -Ev ^Database|.*schema$|sys;domysqldump -F --single-transaction --source-data2 --default-character-setutf8mb4 -q -B $DB -p$PASS | gzip ${DIR}/${DB}_${TIME}.sql.gz
done修改对应的密码就可以直接对所需要的数据进行备份 将备份数据在新的从服务器上解压并在其中添加 change master to 查看主服务器的二进制位点在新增的从服务器上添加对应的配置 启动I/O线程并进行验证
START REPLICA; 在主节点上插入数据验证
insert into tab1 values (4,ddd); 从节点上查看 新增从节点可以正常的从主节点中同步数据。
三、主从配置故障修复
1、测试阻塞从节点 从之前的配置可以知道从节点上设置的仅读禁止写入。 这么配置是为了预防当从节点中添加数据后其与主节点之间容易造成冲突形成阻塞状态
在从节点上添加数据 当主节点上也出现数据更新时 其他从节点上数据同步情况 这时新添加的节点上就会出现阻塞现象 2、对阻塞的节点进行恢复
先关闭 replica 线程
stop replica;
将错误数据删除并将正确数据手动添加进去 将从节点忽略一个主节点的复制事件并再次启动replica线程
set global sql_replica_skip_counter1; 这时再次查看从节点的状态就恢复正常了 在主节点中添加数据进行验证 从节点正常复制同步数据