美文网首页
2020-03-27 中小规模集群架构下调整数据库分离出LNMP

2020-03-27 中小规模集群架构下调整数据库分离出LNMP

作者: 阿丧小威 | 来源:发表于2020-03-27 16:41 被阅读0次

在实际工作中,所有前端的同一组LNMP动态服务器都是共享后端同一个数据库的。因此,前面的LNMP是单机部署,要实现集群就必须单独部署MySQL服务器,整个部署过程如下:

1)创建用户
useradd mysql -s /sbin/nologin -M
id mysql

2)创建目录上传软件
mkdir -p /server/tools/
cd /server/tools/

3)解压安装
tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mkdir -p /application
mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql-5.7.26
ln -s /application/mysql-5.7.26/ /application/mysql

4)配置配置文件
rpm -e --nodeps mariadb-libs
cat >/etc/my.cnf<<EOF
[mysqld]
basedir = /application/mysql/
datadir = /application/mysql/data
socket = /tmp/mysql.sock
server_id = 1
port = 3306
log_error = /application/mysql/data/oldboy_mysql.err

[mysql]
socket = /tmp/mysql.sock
EOF

5)初始化数据库
rpm -qa mariadb-libs
yum install libaio-devel -y

mkdir -p /application/mysql/data
chown -R mysql.mysql /application/mysql/

/application/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data

6)配置启动
cat >/etc/systemd/system/mysqld.service<<EOF
[Unit]
Description=MySQL Server by zheng
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
systemctl start mysqld
systemctl enable mysqld
netstat -lntup|grep mysql

7)登录测试
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
. /etc/profile
mysql
quit

8)数据库迁移
# 从单机LNMP迁移到db01独立的MySQL

#Web01服务器相关操作
1)备份当前数据库数据
mysqldump -uroot -poldboy123 -A -B|gzip >/tmp/web01_db.sql.gz

2)拷贝到异机(独立mysql,192.168.9.11)
scp /tmp/web01_db.sql.gz 192.168.9.11:/tmp

3)停止本地MySQL服务
systemctl stop mysqld
systemctl disable mysqld
lsof -i :3306

4)对web01修改代码以访问数据库的地址
[root@web01 ~]# cd /application/nginx/html/blog
[root@web01 blog]# vi wp-config.php
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );

/** MySQL数据库用户名 */
define( 'DB_USER', 'wordpress' );

/** MySQL数据库密码 */
define( 'DB_PASSWORD', 'oldboy123' );

/** MySQL主机 */
define( 'DB_HOST', '192.168.9.11' );

5)进行db01操作
[root@db01 ~]# cd /tmp
[root@db01 tmp]# gzip -d web01_db.sql.gz
[root@db01 tmp]# mysql </tmp/web01_db.sql

6)登录到数据库里,执行下面语句
grant all privileges on wordpress.* to wordpress@'192.168.9.%' identified by 'oldboy123';
flush privileges;
select user,authentication_string,host from mysql.user;

7)打开网站测试

相关文章

  • 2020-03-27 中小规模集群架构下调整数据库分离出LNMP

    在实际工作中,所有前端的同一组LNMP动态服务器都是共享后端同一个数据库的。因此,前面的LNMP是单机部署,要实现...

  • 2020-02-13 中小规模集群规划与环境准备

    1. 网站集群架构搭建规划 1.1 中小规模基础网站集群架构规划 1.2 网站集群搭建顺序规划 1.3 主机IP及...

  • 2020-03-27 中小规模集群架构下调整Web静态数据以迁移

    在实际工作中,所有前端的同一组LNMP动态服务器都是共享后端同一个共享存储的,即需要把用户上传的所有文件数据目录都...

  • 16. Interview-Structure

    1 大型网站架构演进 初始阶段(LAMP) 应用服务和数据服务分离 使用缓存 应用服务器集群 数据库读写分离 使用...

  • 数据库事务、Redis缓存

    项目的架构(业务架构、技术架构、物理架构) 单机架构 ---> 多机架构 ---> 读写分离 ---> 集群架构 ...

  • day 31 中小规模集群架构

    1、什么是集群? 简单地说,集群就是一堆机器做同一件事。 2、为什么企业要用集群? 3、集群特点 独行快,众行难。...

  • 架构第2章 高性能数据库集群

    本文参考《极客时间》- 从0开始学架构 高性能数据库集群第一种方式是“读写分离”,其本质是将访问压力分散到集群中的...

  • 快手DBA

    负责亿万级数据库集群管理及性能优化 -根据业务需求,改进数据库架构,实施数据库集群 -保证数据库集群系统的稳定、高...

  • day31-中小规模集群架构

    一、什么是集群 集群就是一堆机器做同一件事例如:www.jd.com 提供买东西服务,可能是几千台服务器,在背后支...

  • day31-中小规模集群架构

    1、什么是集群? 简单的说,集群就是一堆机器做同一件事情 例如:京东的网站,可能是几千台服务器,在背后运转...

网友评论

      本文标题:2020-03-27 中小规模集群架构下调整数据库分离出LNMP

      本文链接:https://www.haomeiwen.com/subject/ixhluhtx.html