MySQL/mariadb数据库实现主从同步
1.安装MySQL
要实现在数据库的主从复制,需要在两台linux上安装MySQL,这里安装的是mariadb,首先准备两台linux,
安装命令
安装mariadb数据库
yum install mariadb-server
启动mariadb数据库
systemctl start mariadb
设置mariadb开机自启
systemctl enable mariadb
重启mariad
service mariadb restart
进入数据库,由于没有设置密码,直接回车就可以进入数据库
mysql -u root -p
给root用户设置密码
set password =password('root');
让配置生效
flush privileges;
使用mysql数据库,
use mysql;
查询user表
select host,user from user;
设置数据库任何用户都可以访问
update user set host="%" where host="localhost";
刷新数据库权限
flush privileges;
退出,
exit
检查防火墙状态
firewall-cmd --state
关闭防火墙
systemctl stop firewalld.service;
关闭开启启动防火墙
systemctl disable firewalld.service;
使用Navcat连接数据库
对另一台数据库重复以上步骤
2.数据库备份实现
主库设置
默认条件下 数据库的二进制日志文件是关闭的.如果需要备份则手动开启
编辑二进制日志文件 /etc/my.cnf
vim /etc/my.cnf
编辑配置文件
为文件添加以下配置
server-id=1
log-bin=mysql-bin
保存退出
ESC+: -> wq
数据库的默认位置在/var/lib/mysql
进入文件夹
cd /var/lib/mysql
重启数据库,让二进制文件生效即可
systemctl restart mariadb
从库设置
从库重复上述步骤,编辑/etc/my.cnf配置文件时,配置server-id的值要比主库大,不能与主库一致
3实现主从挂载
进入数据中执行
查看主库状态
查询库的状态
show MASTER STATUS;
实现主从挂载
进入从库执行
/*14从库 从库链接主库
IP/端口/用户名/密码/二进制文件名/pos位置
*/
CHANGE MASTER TO MASTER_HOST="192.168.126.13",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=245;
从库启动主从服务
START SLAVE;
检查主从状态
SHOW SLAVE STATUS;
4.验证主从复制
在主数据库中新建“zhucongfuzhi”数据库,并在数据库中添加一个表,写入数据
打开查看从数据库,可以看到从数据库中有了主数据库中的内容,实现了主从复制
5搭建异常时
-
停止主从服务
stop slave
-
排查错误
-
重启进行主从挂载
-
重置主从服务
reset slave
-
重复挂载即可 如果不行 推倒重做