把本博客的mysql库与NAS的mariadb配置为主从,mysql为主,mariadb为从
主 配置
/*
MYSQL版本:5.7.34
系统版本:Debian11
从LNMP安装
*/
检查my.cnf
-- /etc/my.cnf [mysqld] log-bin = mysql-bin expire_logs_days = 10 server-id = 1 binlog-do-db = typecho #binlog-ignore-db = mysql
检查是否开启
-- 重启数据库 systemctl restart mysql -- 检查是否正常开启(sql) show variables like '%log_bin%';
创建丛机使用的同步账号
CREATE USER '***'@'%' IDENTIFIED BY '********'; GRANT REPLICATION SLAVE ON *.* TO '***'@'%';
从 配置
/*
MYSQL版本:10.3.32-MariaDB
系统版本:Synology 7
从套装安装
*/
新建my.cnf
# /var/packages/MariaDB10/etc/my.cnf [mysqld] log-bin = mysql-bin expire_logs_days = 10 server-id = 2 binlog-do-db = typecho
重启数据库
# 重启数据库 群辉套件中心>MariaDB10>停用>启动
保持数据一致
在主机上导出数据
mkdir dmp && cd dmp # typecho 为数据库名 mysqldump -uroot -p typecho > ./typecho.sql
在从机上导入
# 从主机上把sql文件传过来 -PXXXX为ssh端口号 scp -PXXXX 主机ip:~/dmp/typecho.sql ./ # 导入 mysql -uroot -p typecho < ./typecho.sql
启动主从
检查主机的日志起点
# 在主机上执行 # 拿到File和Position show master status;
配置从机
# 在从机上执行 # 停止 stop slave; # 刷新日志 flush logs; # 配置主机信息,用户为上面创建的用户,文件和位置为上一步拿到的值 change master to master_host='主机IP',master_user='***',master_password='********',master_log_file='mysql-bin.000022',master_log_pos=771; #启动 start slave; #检查,slave_io_running和slave_sql_running都为yes时配置成功 show slave status;
最后发个贴试一下,从机是否同步数据:亲测可用