美文网首页
mysql 主从数据库同步

mysql 主从数据库同步

作者: 水妖 | 来源:发表于2021-04-15 19:02 被阅读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.遇到的问题

...再续

相关文章

网友评论

      本文标题:mysql 主从数据库同步

      本文链接:https://www.haomeiwen.com/subject/lrqjlltx.html