mysql 主从配置
2024-10-08 本文已影响0人
河码匠
两台 mysql 虚拟机配置
| 名称 | ip | 系统 |
|---|---|---|
| mysql-master | 192.168.0.10 | ubuntu 18.04 |
| mysql-salve | 192.168.0.9 | ubuntu 18.04 |
一、主服务配置
- 修改配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.0.10
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
- 重启
service mysql restart
- 创建从服务用户
: IP 为从服务的 IP 地址
create user 'synchro'@'192.168.0.9' identified by 'xxxxxxx';
- 授权
# 授权全部库
grant replication slave on *.* to 'synchro'@'192.168.0.9';
# 刷新权限
flush privileges;
- 查看 master 信息
:这里的
Position和File的值在从服务中会用到
mysql> show master status \G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 179274
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
二、从服务配置
- 修改配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.0.9
server-id = 2
- 重启
service mysql restart
- 暂停 slave
mysql> stop slave;
- 配置
master数据同步
change
master to
master_host='192.168.0.10',
master_port=3306,
master_user='synchro',
master_password='xxxxx',
master_log_file='mysql-bin.000001',
master_log_pos=179274;
:这里的
master_host 是主服务的 IP
:这里的
master_log_pos 是主服务中的 Position
:这里的
master_log_file 是主服务的 File
- 启动 slave
mysql> start slave;
- 查看同步信息
这里看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.10
Master_User: synch
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 179274
Relay_Log_File: mysql-slave-relay-bin.000002
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
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: 179274
Relay_Log_Space: 533
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: c7142871-85ee-11ef-8b6a-5254009c932f
Master_Info_File: /data/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave 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:
三、链接失败
- 尝试在从服务登录主服务 mysql
mysql -h 192.168.0.10 -u synch -p
- 登录主服务 mysql 成功一般就是从服务中配置 master 有问题