MySQL主备配置通常涉及到以下步骤
-
确保两台MySQL服务器上已安装相同版本的MySQL,并记录下安装路径和MySQL版本信息。
-
在主服务器上编辑MySQL配置文件(my.cnf),设置以下参数:
css复制代码
server-id = 1 | |
log_bin = /var/log/mysql/mysql-bin.log | |
binlog_do_db = your_database_name |
-
重启主服务器上的MySQL服务。
-
在主服务器上创建一个用于复制的用户,并为其分配适当的权限。登录到主服务器上的MySQL命令行界面,执行以下命令:
sql复制代码
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; | |
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; | |
FLUSH PRIVILEGES; |
-
在主服务器上创建一个用于复制的日志文件。登录到主服务器上的MySQL命令行界面,执行以下命令:
sql复制代码
FLUSH TABLES WITH READ LOCK; | |
SHOW MASTER STATUS; |
记录下输出结果中的File
和Position
的值。
6. 在从服务器上设置主服务器的信息。登录到从服务器上的MySQL命令行界面,执行以下命令:
sql复制代码
CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_position; | |
START SLAVE; |
将master_server_ip
替换为主服务器的IP地址,replication_user
和password
替换为之前创建的复制用户的用户名和密码,master_log_file
替换为步骤5中记录的File
值,master_log_position
替换为步骤5中记录的Position
值。
7. 在主服务器上启动复制进程。登录到主服务器上的MySQL命令行界面,执行以下命令:
START SLAVE;
- 检查复制状态。登录到从服务器上的MySQL命令行界面,执行以下命令:SHOW SLAVE STATUS\G; 检查结果中的
Slave_IO_Running
和Slave_SQL_Running
的值是否都为“YES”,如果是,则表示主从同步正常。 - 如果一切正常,则配置成功。