念念不忘
必有回响🎉

利用Vultr2.5美元的套餐将数据库分离

前一篇介绍了Vultr2.5美元套餐的使用技巧,目前也可以访问公网了,那么此时就需要将MySQL和Redis从原来的机器上迁移到新的机器上,这种做法的好处就是即减少了原来机器的负载,又将数据库和redis隐藏在局域网中,进而避免了被攻击的可能性。本篇就简单的记录一下将数据库分离的操作记录。

首先,在新建的实例上安装MySQL,安装过程很简单,就不赘述了。

安装完MySQL后,配置防火墙策略

iptables -I INPUT 4 -p tcp -m state --state NEW -s 10.99.0.1 -m tcp --dport 3306 -j ACCEPT

该数据库只能通过10.99.0.1访问。保存防火墙策略

iptables-save > /etc/iptables.up.rules

配置访问用户,通过如下命令登录10.99.0.2上的mysql

mysql -u root -p

登录以后执行如下两个命令:

CREATE USER 'dbuser'@'10.99.0.1' IDENTIFIED BY 'dbpassword';
 GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'10.99.0.1' WITH GRANT OPTION;

上面两条命令表示只能通过dbuser用户通过10.99.0.1访问数据库,密码为dbpassword。将该用户赋权为所有数据库的所有操作,你可以进一步的细粒度话配置访问权限。执行如下命令使其立即生效:

flush privileges;

这里有个问题就是我们通常都会通过本地Mysql客户端(Navicat MySQL)来访问,但是此时mysql数据库服务被隐藏在了局域网中,那么此时可以通过SecureCRT的端口转发来实现,通过SSH连接带有公网的服务器后,在CRT中的Options -> Session Options -> Port Forwarding中配置端口转发,如下图所示:

此时在连接带有公网服务器时,便可以通过127.0.0.1:3307来访问隐藏在局域网中的数据库服务器。

将原来的数据库中的所有表导入到新的数据库中,导入过程中会有”0000-00-00 00:00:00″字段的错误,这是因为mysql开启了严格模式,不允许插入的日期都为0,这个自己处理下即可。然后修改wp-config.php中的mysqlIP地址与用户名密码即可。

 

赞(3) 打赏
未经允许不得转载:Charles's Blog » 利用Vultr2.5美元的套餐将数据库分离

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏