Mysql配置主从数据库
一、准备两台数据库服务器
master:192.168.9.119
slave:192.168.9.122
二、master配置
找到数据库配置文件my.cnf
vi /etc/my.cnf
添加配置:
log-bin=mysql-bin server-id=119
创建用于同步的账号并授权:
create user 'replicate'@'192.168.9.122' identified by 'slave'; grant replication slave on *.* to 'replicate'@'192.168.9.122'; flush privileges;
查看master状态,记录二进制文件名(mysql-bin.000012)和位置(120):
show master status;
+------------------+----------+--------------+---------------------------------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+---------------------------------------------+-------------------+ | mysql-bin.000012 | 120 | test | mysql,information_schema,performance_schema | | +------------------+----------+--------------+---------------------------------------------+-------------------+ 1 row in set (0.00 sec)
三、slave配置
找到数据库配置文件my.cnf,添加配置
server-id=122
重启mysql服务器
service mysql restart
执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):
mysql> change master to -> master_host='192.168.9.119', -> master_user='replicate', -> master_password='slave', -> master_log_file='mysql-bin.000012', -> master_log_pos=120;
启动slave同步进程:
mysql> start slave; Query OK, 0 rows affected (0.00 sec)
查看slave状态:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.9.119
Master_User: replicate
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000012
Read_Master_Log_Pos: 3374
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 3537
Relay_Master_Log_File: mysql-bin.000012
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: 3374
Relay_Log_Space: 3714
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: 119
Master_UUID: 59d3c4a8-1099-11e9-8f19-080027e17b36
Master_Info_File: /usr/local/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
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