数据库主从复制——在centos下实现wordpress的同步发布文章

新买了一个腾讯云服务器,想把这个服务器整成备用站点,于是折腾了一晚上的数据库,在这里记录一下过程。

1.安装好(无脑wget,yum)php,mariadb(创建用户,新建一个wordpress库) ,wordpress,启动各项服务,这步我重复过很多次了,而且网上教程也很多,所以略过

(原本的想法是从站链接主站的数据库,但是会重定向到主站(这是因为数据库中的url仍是主站导致的))

2.主站:

vim /etc/my.cnf

在vim中:

log-bin=mariadblog
server-id=1 #主次的id需不同
binlog-do-db=test0#需要复制的数据库
binlog-do-db=wordpress

以上三行要放到symbolic-links=0下面,否则会不生效:

wq保存,回到终端

firewall-cmd --zone=public --add-port=3306/tcp --permanent#开启3306端口为链接数据库做准备

以下在mysql中(mysql -u root -p)

CREATE USER 用户名@从站ip IDENTIFIED BY '密码';#创建复制所需的用户(默认读者已经创建好主从两个网站的数据库用户)

GRANT ALL PRIVILEGES ON . TO '用户名'@'ip' IDENTIFIED BY '密码';#开放权限

show master status; #获取当前归档日志的位置,需要记录下File 和Postion 对应的值
+-------------------+----------+-----------------+------------------+
| File              | Position | Binlog_Do_DB    | Binlog_Ignore_DB |
+-------------------+----------+-----------------+------------------+
| mariadblog.000005 |   282430 | test0,wordpress |                  |
+-------------------+----------+-----------------+------------------+

3.从站:

vim /etc/my.cnf

在文件中:

server-id = 2 #:wq保存

进入数据库后:

CHANGE MASTER TO 
MASTER_HOST='主站ip',
MASTER_PORT=3306,
MASTER_USER='用户',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='mariadblog.000005',
MASTER_LOG_POS=786971;

其中 MASTER_LOG_POS = 每次更新数据库都会改变,有的教程设置成0让它自动识别

slave start;#开始复制
show slave status\G;#查看从数据库状态
#Slave_IO_Running: Yes
#Slave_SQL_Running: Yes 
#出现这两个yes就ok了,如果底下有报error,应该没什么影响,可以在主站mysql中 unlock tables;
slave stop;#结束

往主站wordpress写一篇文章并发布,从站也会跟着更新,如下图

踩坑:

a.ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

从站的server_id没有生效,可以在mysql中

SET GLOBAL server_id=2;

b.Slave_SQL_Running:No

slave stop;

再次运行:

CHANGE MASTER TO MASTER_HOST='主站ip', MASTER_PORT=3306, MASTER_USER='用户名', MASTER_PASSWORD='密码', MASTER_LOG_FILE='mariadblog.000005', MASTER_LOG_POS=282430;

slave start;

若遇到退出数据库后无法同步,先停止slave

 set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

再开启

c.各种数据错误问题:

重启服务,刷新一下即可

终端中:

systemctl restart mariadb

mysql指令:

flush privileges;

d.不要将主站wordpress数据库直接导入到从站,从站会重定向到主站,原因未知

e.

x.好像还踩了几个不过忘记了,有空补上



2022年 March 6日|9:14  作者:
目录: 网站, 计算机 标签:,, , ,
欢迎留下你的评论~~
订阅
通知
guest
0 Comments
内嵌回复
查看所有评论