【分布式】部署MySQL主从数据库--LNMP构建(超详细)
以下是一个简化的示例,展示如何在LNMP环境中部署MySQL主从同步。
- 安装Nginx和PHP-FPM:
sudo apt-update
sudo apt-get install nginx php-fpm
- 安装MySQL服务器并配置主服务器:
sudo apt-get install mysql-server
编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
,设置server-id:
[mysqld]
server-id=1
log_bin=mysql-bin
重启MySQL服务并创建复制用户:
sudo systemctl restart mysql
sudo mysql -u root -p
在MySQL提示符下:
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%' IDENTIFIED BY 'replica_password';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
记录下File和Position的值,稍后会用到。
- 安装MySQL服务器并配置从服务器:
sudo apt-get install mysql-server
编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
,设置不同的server-id:
[mysqld]
server-id=2
重启MySQL服务并配置复制:
sudo systemctl restart mysql
sudo mysql -u root -p
在MySQL提示符下:
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='记录的log文件名',
MASTER_LOG_POS=记录的log位置;
START SLAVE;
SHOW SLAVE STATUS\G
配置Nginx和PHP-FPM:
确保Nginx可以处理PHP文件,编辑Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
添加以下内容以配置PHP处理:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
重启Nginx和PHP-FPM服务:
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm
至此,LNMP环境和MySQL主从同步就已经部署完成。可以开始开发分布式应用了。
评论已关闭