Linux宝塔Mysql两台服务器主从配置,服务器存在多个库
实现目标:两台服务器(一台为从服务器,一台为主服务器),当主服务器的数据修改,从服务器复制主服务器的操作,实现自动修改数据;
一、主数据库操作
1、先登录主数据库
#登录数据库,用root登录方便,用其他账号会提示权限不足,需要登录root给予权限 mysql -u root -p 密码
2、创建一个账号(创建一个专门提供从机远程访问使用的用户),供从库用该账号登录主库('%'不用改,改了从库会登录不上)
#创建一个账号,供从库用该账号登录主库('%'不用改,改了从库会登录不上) grant replication slave on *.* to 'repl'@'%' identified by '123456'; #刷新权限 flush privileges;

3、查看到服务器所有的数据库账号密码,包括你新增的,正常操作的话,不用执行这个命令
#这个命令可以查看到服务器所有的数据库账号密码,包括你新增的,正常操作的话,不用执行这个命令 select user,host from mysql.user;

4、主数据库配置,然后重启数据库服务
#主服务器唯一ID(必须唯一) server-id=101 #启用二进制日志 log-bin=mysql-bin # 设置不要复制的数据库(可设置多个) binlog-ignore-db=mysql binlog-ignore-db=information_schema #设置需要复制的数据库 binlog-do-db=需要复制的主数据库名字 #设置logbin格式 binlog_format=mixed # 在作为从数据库的时候,有写入操作也要更新二进制日志文件 log-slave-updates #表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535 auto-increment-increment=2 # 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535 auto-increment-offset=1
5、查看主库的状态,这里是为了看主库的日志文件及从文件哪行开始读
#查看主库的状态,这里是为了看主库的日志文件及从文件哪行开始读 #图中的file、Position复制出来,配置从库会用到 show master status;

记录二进制文件名File和位置Position,后面配从库要用
6、主数据库查看日志是否开启
show variables like '%log_bin%';

7、主数据库查看skip_networking是否是关闭状态;
show variables like '%skip_networking%';

二、配置从库设置
1、配置数据库my.conf文件,配置完成重启数据库服务
#开启日志 log-bin=mysql-bin #配置格式 binlog_format=mixed#配置服务唯一ID server-id = 2 #设置有效期天数 expire_logs_days = 10 #只复制主数据库的其中一个数据库 replicate_do_db = www

2、先登录主数据库
#登录数据库,用root登录方便,用其他账号会提示权限不足,需要登录root给予权限 mysql -u root -p 密码
3、执行授权之前首先停止slave
stop slave;
4、然后清除所有slave
reset slave all;
5、授权 slave在从服务器配置链接到主服务器的相关信息(在从服务器的mysql执行)
CHANGE MASTER TO MASTER_HOST='主机的IP地址', MASTER_USER='用户名', MASTER_PASSWORD='密码', MASTER_LOG_FILE='binlog日志的名字,mysql-bin.具体数字', MASTER_LOG_POS=接入点,具体的值;

6、启动从服务器复制功能
start slave;
7、查看从服务器状态
show slave status\G;

8、配置成功,如果数据库显示只读不能写入
#查看只读状态 SHOW VARIABLES LIKE 'read_only'; #设置关掉全局只读 SET GLOBAL read_only=OFF;
觉得有收获,记得推荐一下哦!
作者:楓羽靈~
出处:http://520fyl.cnblogs.com/
如果您觉得本文对您的学习有所帮助,可通过点击页面下方【好文要顶】支持博主。

浙公网安备 33010602011771号