首页
留言
友链
架子鼓
更多
壁纸
直播
时光机
关于
Search
1
谷豆电视直播代理源码,谷豆代理原理解析
45,061 阅读
2
华为鸿蒙系统无法安装 xapk APP 闪退 ( youtube vanced ) 的解决办法
26,892 阅读
3
[转载]青龙面板+Ninja从零安装教程
19,118 阅读
4
docker 之 typecho 镜像-不推荐
13,084 阅读
5
typecho插件 - 在线下载主题到服务器 - addTheme 发布
8,869 阅读
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
登录
Search
标签搜索
msyql
主从
华为
鸿蒙
xapk
闪退
APP 闪退
kindle
mobi
docker
pip
alpine
梦浪的小虾米
累计撰写
143
篇文章
累计收到
585
条评论
首页
栏目
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
页面
留言
友链
架子鼓
壁纸
直播
时光机
关于
搜索到
1
篇与
的结果
2021-12-16
mysql 主从笔记
工作有几年了,可是还是还是在写着简单的 curd,这不行,得搞一下 mysql 主从准备两台带有 mysql 的服务器(意思就是不管你是linux还是window,只要有 mysql 就行)两台服务器的 ip 地址为 192.168.123.57 和192.168.123.58其中 192.168.123.58为主数据库192.168.123.57为从数据库本文中,主从环境均为 linux 下的 ubuntu 环境(为了方便学习,本文是使用的 docker 搭建的 mysql 8.0)正文配置主数据库。找到 mysql 的配置 . 本文的配置文件名为 my.cnf打开配置文件,通过搜索找到 [mysqld],然后换行并添加如下配置:# 下文中 xxx 为文件目录,请自行替换. 推荐: /var/log/mysql server-id = 1 #mysql-bin 会自动生成 mysql-bin.000001 log-bin = 'xxxx/mysql-bin' # 错误日志 log-error= 'xxxx/mysql-error'; # 主从同步忽略的数据库 binlog-ignore = mysql # 主从同步需要同步的数据库 binlog-do-db = test给从数据库库授权 [ mysql 命令行中执行该命令]CREATE USER 'root'@'192.168.123.%' IDENTIFIED BY 'mytest'; GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.123.%';刷新授权,让授权生效- 可有可无 [ mysql 命令行中执行该命令]FLUSH PRIVILEGES;重启数据库服务# 网上推荐这个重启 mysql 服务。我为了让格式好看,自然也就写了这个,其实我是 docker,所以不存在这种启动方式,我直接重启容器 mysql.server restart查看 master 是否配置成功 [ mysql 命令行中执行该命令]show master status \G;查看 从数据库的信息 [ mysql 命令行中执行该命令]show master hosts \G;配置从数据库从数据库的配置,文件名字:mysql.cnf# 下文中 xxx 为文件目录,请自行替换. 推荐: /var/log/mysql server-id = 1 #mysql-bin 会自动生成 mysql-bin.000001 log-bin = 'xxxx/mysql-bin' # 错误日志 log-error= 'xxxx/mysql-error'; 需要同步的数据库 replicate-do-db=test从数据库也需要授权 [ mysql 命令行中执行该命令]change master to master_host='192.168.123.58', master_user='root', master_password='mytest', master_log_file='mybin-log.000001' , master_log_pos=323; # 以上是一个完整的一行命令, master_host 为主数据库的地址,master_user 为主数据库的账户,master_password 为主数据库的密码,master_log_file 为主数据库的二进制文件的名字,master_log_pos 为主数据库log文件里面的行号,可以通过 <code>show master status \G</code>获取对应的行号从数据库也需要重启数据库服务,和主服务器的一致在从服务器上开启同步进程 [ mysql 命令行中执行该命令]start slave;查看同步状态 [ mysql 命令行中执行该命令]show slave status; # 会得到如下结果-仅供参考 mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Waiting for source to send event Master_Host: 192.168.123.58 Master_User: root Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mybin-log.000001 Read_Master_Log_Pos: 632 Relay_Log_File: 044ebe077274-relay-bin.000004 Relay_Log_Pos: 633 Relay_Master_Log_File: mybin-log.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: test Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 632 Relay_Log_Space: 849 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: db775ba0-16f4-11ec-9463-0242ac150002 Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0 Network_Namespace: 1 row in set, 1 warning (0.00 sec) 此处需要注意:查看 Slave_IO_Running 和 Slave_SQL_Running 。必须让这两个值都为 yes 才算是成功。如果不是 yes。 可以查看 Last_io_Errno 上显示的错误,然后根据错误进行修改在主数据库进行写操作测试,查看从数据库是否有相同的数据。如下所示:隐藏内容,请前往内页查看详情
2021年12月16日
2,791 阅读
1 评论
0 点赞