366 views
Liunx-服务安装

Centos7 mariadb配置主从

( mariadb配置都和mysql一模一样,完全兼容mysql)

Master:192.168.77.73    Slave:192.168.77.74

注:全程命令尽量手动敲,复制黏贴,可能出现标点符号不匹配而报错

1、安装 yum install mariadb mariadb-server -y                 启动:systemctl start mariadb  端口:3306

2、配置master,配置文件如下

vim /etc/my.cnf   新增三段命令(加粗)
[code]
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
server-id=1            #masterid为1,slaveid为2
log-bin=mysql-bin   #开启binlog日志,该日志很重要
[/code]
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
replicate-do-db = discuz    #确认同步的数据库名称
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

3、配置slave,配置文件如下

vim /etc/my.cnf 新增一段(加粗)

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
server-id=2        #masterid为1,slaveid为2 
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

 

4、在Master数据库服务器上设置权限并创建discuz数据库

mysql                                                                                                                           #进入数据库进行操作

create database discuz;                                                                                             #创建一个做主从的discuz库

grant all on *.* to root@’%’ identified by ‘123456’ ;                                              #给一个能全能的账户备用

grant replication slave on *.* to discuz@’%’ identified by ‘123456’ ;                  # 授权discuz用户可以有 replication slave权限

show master status;                                                                                                   #查看master状态,开启了binlog日志之后这个才会有下面的显示↓

+——————+———-+————–+——————+
| File                          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001| 474          |                        |                                 |
+——————+———-+————–+——————+

5、在slave服务器指定master IP和同步的pos点等信息,创建discuz数据库,并把master上面的库导入进来

mysqldump -h192.168.77.73 -uroot -p123456 discuz > 1.sql                               #备份master上面的discuz库

mysql discuz < 1.sql                                                                                                     #将备份好的库,导入到slave上面

mysql                                                                                                                             #进入数据库进行操作

change master to master_host=’192.168.77.73′,master_user=’discuz’,master_password=’123456′,master_log_file=’mysql-bin.000001′,master_log_pos=474;      #指定master 信息

slave start;                                                                                                                 #开启slave

show slave status\G;                                                                                               #查看slave的状态,显示如下则成功↓

#Slave_IO_Running: Yes
#Slave_SQL_Running: Yes

主从配置完成!

Leave a Reply

影子专属博客 赣ICP备17013143号