Nginx-学习目录
1、为什么要拆分数据库
由于单台服务器运行LNMP架构会导致网站访问缓慢,当系统内仔般吃满的,低谷易导致系统出现 oom ,从而kill掉 MysQL 数据库,所以需要将web 和数据库进行独立部署。
拆分数据库能解决什么问题
1、缓解web 网站的压力;
2、增强数据库读写性能;
3、提高用户访问的速度;
2、数据库拆分架构演变图

3、环境准备-【数据库拆分】
MySQL 192.168.10.6
PHP 192.168.10.5
Ngnix 192.168.10.4
4、实现步骤-【数据库拆分】
4.1、备份数据库
4.1.1、备份所有数据
mysqldump -uroot -pcyc.com --all-databases > mysql_all.sql
4.1.2、拷贝数据至mariadb服务器
scp mysql_all.sql root@192.168.10.6:/tmp
4.2、数据库服务操作
4.2.1、安装
请参考文章:https://www.cnblogs.com/ygbh/p/17360740.html
4.2.2、数据的导入数据库
mysql -uroot -p </tmp/mysql-all.sql
4.3.3、创建数据库登陆的用户和密码
grant all on *.* to username@'%' identified by 'password';
flush privileges;
4.4、修改代码指向新数据库
4.4.1、wordpress修改
]# cat /opt/wordpress/wp-config.php
<?php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'wordpress');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'wordpress');
/** MySQL主机 */
define('DB_HOST', '192.168.10.6:3306');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
4.4.2、wecenter修改
]# cat /opt/wewenter/system/config/database.php
<?php
$config['charset'] = 'utf8mb4';
$config['prefix'] = 'aws_';
$config['driver'] = 'MySQLi';
$config['master'] = array (
'charset' => 'utf8mb4',
'host' => '192.168.10.6',
'username' => 'wewenter',
'password' => 'wewenter',
'dbname' => 'wewenter',
'port' => '3306',
);
$config['slave'] = false;
$config['port'] = '3306';