中小规模集群架构下调整数据库分离出LNMP一体化

6 篇文章 0 订阅

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

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

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

    #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
    prompt = oldboy [\\d]>
    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 oldboy
    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服务器相关操作。这里迁移的之前搭建的wordpress实验博客
    #1)备份当前数据库数据。
    mysqldump -uroot -poldboy123-A -B|gzip >/tmp/web01_db.sql.gz
    #2)拷贝到异机(独立mysql,192.168.3.117)。
    scp /tmp/web01_db.sql.gz 192.168.3.117:/tmp

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

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

        /* * MySQL database username */
        define( 'DB_USER', 'wordpress' );

        /* *  MySQL database password */
        define( 'DB_PASSWORD', 'oldboy123' );

        /* *  MySQL hostname */
        define( 'DB_HOST', '192.168.3.17' );

    #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.3.%'  identified  by	'oldboy123';
    flush privileges;
    select user, authentication_string, host from mysql.user;
	
	#7)打开网站测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值