mysql 主从数据库同步
2021-04-15 本文已影响0人
水妖
1.配置说明
1.1 mysql版本号
5.7.32
1.2 配置文件
linux :my.cnf
win :my.ini
#linux如下
/etc/mysql/my.cnf
#说明: Docker的mysql:5.7.32版本中该文件是个快捷方式
#指向:
my.cnf -> /etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf
#该文件有些环境也可以用 未摸清mysql的机制 \汗
/etc/mysql/mysql.conf.d/mysqld.cnf
1.3 两台服务器
主服务器ip:192.168.3.10
从服务器ip:192.168.3.11
1.4目标数据库
#保证数据库格式一致
teacher
2.主服务器
2.1 创建账号
#创建指定登录ip(从服务器的ip)的账号
#replication slave ——给从服务器授予一个同步的权限
grant replication slave,reload,super on *.* to 'repl'@'192.168.3.11' identified by '123456';
#扩展
drop user 'repl'@'192.168.3.11'
2.2 文件配置
#代表数据库自身的默认设置
[mysqld]
#主服务器 唯一id
server-id = 100
#打开log 日志 (日志文件 :/var/lib/mysql/mysql-bin)
log-bin = /var/lib/mysql/mysql-bin
#日志有效时间
expire-logs-days = 14
#最大文件日志
max-binlog-size = 500M
#缓存日志的数据库
binlog-do-db = teacher
#扩展
#代表客户端默认设置内容
[client]
#代表我们使用mysql命令登录mysql数据库时的默认设置
[mysql]
#代表数据库自身的默认设置
[mysqld]
2.3 重启
service mysql restart
2.4 查看状态
#查看服务器id (查询server_id,配置server-id)
show variables like "%server_id%";
->:
Variable_name Value
server_id 100
#查看日志是否打开
show variables like "%log_bin%";
->:
Variable_name Value
log_bin ON
log_bin_basename /var/lib/mysql/mysql-bin
...
#mysql指令查看主服务器状态
show master status;
->:
File Position Binlog_do_DB Binlog_ignore_DB Executed_Gtid_set
mysql-bin.000001 65 teacher
...
#扩展
#展示主服务器日志
show master logs;
->:
Log_name File_size
mysql-bin.000001 177
mysql-bin.000002 154
...
3.从服务器
3.1 文件配置
#代表数据库自身的默认设置
[mysqld]
#从服务器唯一id
server-id = 101
下面的配置 在我的环境报错 无法启动 (跳过 下面用mysql 指令实现)
#主服务器A 地址
master-host = 192.168.3.10
#主机A提供给B的用户,该用户中需要包括指定要同步数据库的权限
master-user = repl
#访问密码
master-password = 123456
#端口,主机的MYSQL端口
master-port = 3306
#主服务器日志记录文件
master_log_file = mysql-bin.000001
#重试间隔60秒,当主从服务器连接意外断开时数据库每隔60秒进行一个重新连接
master-connect-retry = 60
#同步的数据库
replicate-do-db = teacher
3.2 指令配置
change master to
master_host='192.168.3.10',
master_user='repl',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000001',
master_connect_retry=60,
master_log_pos=0,
master_auto_position=0;
3.3 mysql重启
service mysql restart
#扩展
#启动
start slave;
#关闭指令
stop slave;
#删除指令
reset slave all
3.4查看状态
#都为Yes 启动成功
show slave status;
->:
Slave_IO_Running Salve_SQL_Running
Yes Yes
正常的话 至此搞定!!!
5.一些指令
#查看日志时间
show binlog events;
6.遇到的问题
...再续