本文主要是介绍运维-2.主从复制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主从复制
- 1.概述
- 2.原理
- 3.搭建主从复制结构
- 3.1 搭建
- 3.2 主库配置
- 3.3 从库配置
- 4.测试
- 总结
1.概述
2.原理
3.搭建主从复制结构
3.1 搭建
3.2 主库配置
vi /etc/my.cnf
server-id=1
read-only=0
mysql> create user 'demo'@'%' IDENTIFIED WITH mysql_native_password by 'Demo@123456';
Query OK, 0 rows affected (0.01 sec)mysql> grant replication slave on *.* to 'demo'@'%';
Query OK, 0 rows affected (0.00 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000002 | 1363 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.02 sec)
3.3 从库配置
server-id=2
read-only=1
mysql> change replication source to
source_host='10.4.7.6',
source_user='demo',
source_password ='Demo@123456',
source_log_file='binlog.000003',
source_log_pos=157;
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='10.4.7.6', MASTER_USER='demo', MASTER_PASSWORD='Demo@123456', MASTER_LOG_FILE='binlog.000003', MASTER_LOG_POS=157; START SLAVE;
4.开启同步操作
start replica; #8.0.22之前
start salve; #8.0.22之后
5.查看主从同步状态
show replica status; #8.0.22之前
show slave status; #8.0.22之后
Replica_IO_Running: Yes
Replica_SQL_Running: Yes
mysql> show replica status\G;
*************************** 1. row ***************************Replica_IO_State: Waiting for source to send eventSource_Host: 10.4.7.6Source_User: demoSource_Port: 3306Connect_Retry: 60Source_Log_File: binlog.000003Read_Source_Log_Pos: 157Relay_Log_File: k8smaster-relay-bin.000002Relay_Log_Pos: 323Relay_Source_Log_File: binlog.000003Replica_IO_Running: YesReplica_SQL_Running: YesReplicate_Do_DB:Replicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno: 0Last_Error:Skip_Counter: 0Exec_Source_Log_Pos: 157Relay_Log_Space: 537Until_Condition: NoneUntil_Log_File:Until_Log_Pos: 0Source_SSL_Allowed: NoSource_SSL_CA_File:Source_SSL_CA_Path:Source_SSL_Cert:Source_SSL_Cipher:Source_SSL_Key:Seconds_Behind_Source: 0
Source_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error:Last_SQL_Errno: 0Last_SQL_Error:Replicate_Ignore_Server_Ids:Source_Server_Id: 1Source_UUID: 4a28f2cd-5ae3-11ef-9766-000c2913ad31Source_Info_File: mysql.slave_master_infoSQL_Delay: 0SQL_Remaining_Delay: NULLReplica_SQL_Running_State: Replica has read all relay log; waiting for more updatesSource_Retry_Count: 86400Source_Bind:Last_IO_Error_Timestamp:Last_SQL_Error_Timestamp:Source_SSL_Crl:Source_SSL_Crlpath:Retrieved_Gtid_Set:Executed_Gtid_Set:Auto_Position: 0Replicate_Rewrite_DB:Channel_Name:Source_TLS_Version:Source_public_key_path:Get_Source_public_key: 0Network_Namespace:
1 row in set (0.00 sec)
4.测试
create database db01;
use db01;
create table tb_user(id int primary key auto_increment ,name varchar(50) not null,sex varchar(1)
)engine=innodb default charset=utf8mb4;insert into tb_user(id,name,sex) values(null,'Tom','1'),(null,'Lisa','0'),(null,'hahha','1');
总结
这篇关于运维-2.主从复制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!