網站首頁 mysql 正文
1:設主庫允許遠程連接(注意:設置賬號密碼必須使用的插件是mysql_native_password,其他的會連接失敗)
#切換到mysql這個數據庫,修改user表中的host,使其可以實現遠程連接
mysql>use mysql;
mysql>update user set host ="%" where user ="root";
#改完之后一定要刷新信息
mysql>flush privileges;
2:主庫開啟bin-log日志在my.cnf的[mysqld]下添加
#修改主服務器Master
#修改配置文件
vim /etc/my.cnf
#主服務器唯一ID,這個id可以隨便修改,只要不跟從服務器重復,注意連接是-,不是_
server-id=1
#啟用二進制日志
log-bin=mysql-bin
2-1:重啟主庫mysql
[root@localhost ~]# systemctl retart mysql
2-2:查看主庫server 相關信息
mysql> show global variables like '%server%';
+---------------------------------+--------------------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------------------+
| character_set_server | utf8mb4 |
| collation_server | utf8mb4_0900_ai_ci |
| innodb_dedicated_server | OFF |
| innodb_ft_server_stopword_table | |
| server_id | 1 |
| server_id_bits | 32 |
| server_uuid | b434ab49-df79-11ee-9c39-0242ac110002 |
+---------------------------------+--------------------------------------+
7 rows in set (0.00 sec)
mysql>
2-2:查看主庫是否開啟bin-log日志
mysql> show global variables like '%log%';
2-3:查看主庫的最新狀態
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 | 157 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql> FLUSH LOGS;
Query OK, 0 rows affected (0.01 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000005 | 157 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql>
2-4:查看全部的二進制文件,可以選擇一步一步恢復
mysql> SHOW BINARY LOGS;
+------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+------------------+-----------+-----------+
| mysql-bin.000001 | 204 | No |
| mysql-bin.000002 | 204 | No |
| mysql-bin.000003 | 204 | No |
| mysql-bin.000004 | 204 | No |
| mysql-bin.000005 | 157 | No |
+------------------+-----------+-----------+
5 rows in set (0.00 sec)
mysql>
3:從庫開啟bin-log日志在my.cnf的[mysqld]下添加
#修改從服務器slave
修改配置文件:vim /etc/my.cnf
#從服務器唯一ID,注意連接是-,不是_
server-id=2
#啟用中繼日志
relay-log=mysql-relay
3-1:查看主庫是否開啟bin-log日志,從庫也是一樣
mysql> show global variables like '%log%';
4:在主庫創建一個賬號slave,密碼123456,并且授權連接
mysql>GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';
4-1:在從庫指定主庫(添加 主節點主機,訪問主節點的用戶名及密碼,主節點二進制文件信息,注意:主節點的二進制文件一定要是二進制列表中的最后一個二進制文件。如果需要設置主主就是主庫也執行如下的命令,ip,賬號,密碼換成從庫的)
mysql> change master to master_host='192.168.11.47',master_user='root',master_password='root',master_log_file='mysql-bin.000005',master_log_pos=157;
Query OK, 0 rows affected, 8 warnings (0.01 sec)
5:檢查從庫復制功能狀態(注意:Slave_IO_Running,Slave_SQL_Running,兩個線程必須為yes狀態,否則主從復制搭建不成功)
show slave status \G;
5-1:先停止從庫的復制功能
mysql>stop slave;
5-2: 如果報錯,異常原因,從庫已經存在之前的relay log
mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
5-3:解決方案,使用reset slave語句,清除master信息和relay日志信息,并創建全新的中繼日志.
mysql> stop slave;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
mysql> reset slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> change master to master_host='192.168.11.47',master_user='root',master_password='root',master_log_file='mysql-bin.000005',master_log_pos=157;
Query OK, 0 rows affected, 8 warnings (0.02 sec)
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)
5-4:再啟動從庫的復制功能
mysql>start slave;
5-5:再查看從庫的狀態
show slave status \G;
6:keepAlived的配置文件權限必須是644
原文鏈接:https://blog.csdn.net/qq_19891197/article/details/136612537
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2023-04-18 Android粒子線條效果實現過程與代碼_Android
- 2022-04-20 Flutter如何輕松實現動態更新ListView淺析_Android
- 2022-09-04 C/C++?引用作為函數的返回值方式_C 語言
- 2022-07-07 Python推導式使用詳情_python
- 2022-11-09 django中的auth模塊與admin后臺管理方法_python
- 2023-10-16 forEach方法如何跳出循環和for方法跳出循環
- 2023-02-27 python定時任務timeloop庫用法實例詳解_python
- 2022-03-23 Redis的六種底層數據結構(小結)_Redis
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支