Centos7 配置Mariadb(Mysql )主备数据库
Centos7 + Mariadb主从配置
环境:
主服务器:192.168.1.143 系统 Centos7
从服务器:192.168.1.144 系统 Centos7
一、设置数据库
1.登录两台数据库创建 数据库DB1
create database DB1;
2.给root连接权限
如果不添加该权限 丛机 会一直 连接中
grant all privileges on *.* to root@'%' identified by 'root密码' with grant option;
二、配置主库
1.编辑192.168.1.143的/etc/my.cnf
vi /etc/my.cnf
在[mysqld]下添加
#设置服务器ID,为1的表示为主服务器;如果服务器没有以下配置,添加,如果有就跳过。
server-id=1
##启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin?
##需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行\
binlog-do-db=DB1
##不同步mysql系统数据库
binlog-ignore-db=mysql
2.重启服务
systemctl restart mariadb.service
3.获取file值和Position值
#登录数据库
mysql -u root -p
#查看主服务器
show master status;
出现以上类似信息
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| mysql-bin?.000001 | 907 | DB1 | mysql |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
这里记住File的值:mysql-bin?.000001和Position的值:907,后面会用到。
三、配置从库
1.编辑192.168.1.143的/etc/my.cnf
vi /etc/my.cnf
在[mysqld]下添加
#设置服务器ID除了0和1其他都是从机
server-id=2
##启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin?
##需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行\
binlog-do-db=DB1
##不同步mysql系统数据库
binlog-ignore-db=mysql
2.重启服务
systemctl restart mariadb.service
3.登录丛机数据库
mysql -u root -p
#输入密码
4.停止丛机服务
slave stop;
5.配置主服务的连接信息
change master to master_host='主服务器地址',master_user='主服务器mysql用户名',master_password='主服务器mysql密码',master_log_file='上面获取的file值',master_log_pos=Position值;
改完后
change master to master_host='192.168.1.143',master_user='root',master_password='root123',master_log_file='mysql-bin?.000001',master_log_pos=907;
6.启动
slave start;
7.最后我们查看主从同步是否正常:
show slave status \G;
找到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
都是yes 说明成功!
8.错误解决
如果Slave_IO_Running 是 No需要重置slave
slave stop;
reset slave;
--第五步命令
slave start;
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 SNTU Studio
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果