开发者社区> 科技探索者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

0537-实战将lnmp服务中的数据库独立分离到服务器

简介:
+关注继续查看

前面安装的nginx和php,mysqld的服务要加入开机自启动,加入方法如下:

    vi /etc/rc.local添加如下内容为开机自启动

1
[root@web01 extra]# vi /etc/rc.local

    追加到/etc/rc.local文件最后面

1
2
3
4
####
/application/nginx/sbin/nginx
/application/php/sbin/php-fpm
/etc/init.d/mysqld start

备份所有库(不需要备份所有库只需要备份wordpress库即可)
[root@web01 ~]# mysqldump -uroot -p123456 -A -B |gzip>bak.sql.gz
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
备份wordpress库
[root@web01 ~]# cd /home/oldboy/tools
[root@web01 tools]# mysqldump -uroot -p123456 wordpress -B |gzip>bak.sql.gz
50台规模集群LNMP组件分离
1、LNMP一体机的数据库分离成独立的数据库
  a.创建独立的数据库51
  b.导出lnmp中的wordpress数据库数据
    mysqldump -uroot -p123456 wordpress -B |gzip>bak.sql.gz
  c.导入到51数据库里
    scp bak.sql.gz root@10.0.0.51:/tmp

[root@db01 mysql]# cd /tmp
[root@db01 tmp]# ll
总用量 160
-rw-r--r-- 1 root  root  159841 8月  27 15:40 bak.sql.gz
srwxrwxrwx 1 mysql mysql      0 8月  27 15:30 mysql.sock
[root@db01 tmp]# gzip -d bak.sql.gz 
[root@db01 tmp]# ll
总用量 660
-rw-r--r-- 1 root  root  673182 8月  27 15:40 bak.sql
srwxrwxrwx 1 mysql mysql      0 8月  27 15:30 mysql.sock
给数据库设置密码
[root@db01 tmp]# mysqladmin -uroot password 123456
导入到数据库
[root@db01 tmp]# mysql -uroot -p123456 </tmp/bak.sql
查看数据库
[root@db01 tmp]# mysql -uroot -p123456 -e "show databases like 'wordpress';"
+----------------------+
| Database (wordpress) |
+----------------------+
| wordpress            |
+----------------------+
进入wordpress数据库看是否有表
[root@db01 tmp]# mysql -uroot -p123456 -e "use wordpress;show tables;"
+------------------------+
| Tables_in_wordpress    |
+------------------------+
| old_commentmeta        |
| old_comments           |
| old_links              |
| old_options            |
| old_postmeta           |
| old_posts              |
| old_term_relationships |
| old_term_taxonomy      |
| old_termmeta           |
| old_terms              |
| old_usermeta           |
| old_users              |
+------------------------+
如上操作还不能分离,因为51数据库没有管理员,管理员所在的库在mysql里面,所以要添加一个管理员
创建数据库wordpress管理员账号和密码
mysql> grant all on wordpress.* to wordpress@'172.16.1.%' identified by '123456';
Query OK, 0 rows affected (0.03 sec)
刷新特权
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
查看mysql数据所有的用户
mysql> select user,host from mysql.user;
+-----------+------------+
| user      | host       |
+-----------+------------+
| root      | 127.0.0.1  |
| wordpress | 172.16.1.% |
| root      | ::1        |
|           | db01       |
| root      | db01       |
|           | localhost  |
| root      | localhost  |
+-----------+------------+
7 rows in set (0.00 sec)
51上进行数据库授权,让.8web可以访问

停掉web01里面的数据库
[root@web01 tools]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS! 
开机mysql开机启动也停掉
[root@web01 tools]# chkconfig mysqld off

再次浏览器中刷新http://blog.etiantian.org/会提示建立数据库连接时出错

在web01上面操作
[root@web01 tools]# cd /application/nginx/html/blog/
[root@web01 blog]# vim wp-config.php在32行中localhost修改为172.16.1.51
 31 /** MySQL主机 */
 32 define('DB_HOST', 'localhost');
再次在浏览器中刷新http://blog.etiantian.org/ 网址就可以打开了blog了
新建一篇文章标题为666

在51数据库查询
[root@db01 tmp]# mysql -uroot -p123456
mysql> use wordpress;
mysql> show tables;
如下操作就可以查看666标题的文章
select * from old_posts\G;

如下是666标题的文章

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
*************************** 11. row ***************************
                   ID: 11
          post_author: 1
            post_date: 2017-08-27 16:15:28
        post_date_gmt: 2017-08-27 08:15:28
         post_content: 666
           post_title: 666
         post_excerpt: 
          post_status: inherit
       comment_status: closed
          ping_status: closed
        post_password: 
            post_name: 10-revision-v1
              to_ping: 
               pinged: 
        post_modified: 2017-08-27 16:15:28
    post_modified_gmt: 2017-08-27 08:15:28
post_content_filtered: 
          post_parent: 10
                 guid: http://blog.etiantian.org/?p=11
           menu_order: 0
            post_type: revision
       post_mime_type: 
        comment_count: 0
11 rows in set (0.00 sec)

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1959725如需转载请自行联系原作者

sandshell

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云ECS服务器搭建SpringBoot后端接驳微信小程序前端使用心得 #飞天加速计划·高校学生在家实践
了解到飞天加速计划,大学生可以免费体验阿里云ECS服务器。想到最近在弄的一个小程序后端在部署在阿里云服务器,前来尝试了阿里云的服务。使用过程很顺畅,也碰到了服务器端口3306无法访问的问题,咨询了客服给我了很满意的解决方案。希望发表给大家带来一些参考。希望大家可以避开这个坑。
73 0
phpstorm运行本地PHP服务器,实现小程序可以访问的PHP后台
PHP本地服务器的搭建,可供小程序访问
1484 0
域名变一定要购买云服务器才能有备案申请号吗?
域名变一定要购买云服务器才能有备案申请号吗? 我是新手,今天注册了4个域名,我们公司决定使用自己的服务器来架设网站(我们使用的是固定IP),但是解析域名的时候我见到说要备案,否则无法访问网站,然后按照提示操作去备案,发现需要一个备案申请号,按照提示,又发现备案申请号必须要购买阿里云的空间才能申请到。
3379 0
流媒体服务器Wowza Streaming Engine 4安装升级教程
公司流媒体服务器运行的是wowzamediaserver 3.6 ,最近打算升级到Wowza Streaming Engine 4,其实wowza4发布也好长时间了,由于各种原因吧一直没有升级,今天跟大家分享下升级的过程。
1100 0
通过数据中心整合和虚拟化实现高密度服务器配置
在数据中心普及化的高潮中,服务器整合与虚拟化是两个主要趋势。随着整合技术的发展,数据中心把更多的重点放在了SAN和NAS技术及刀片服务器架构的推进上。   虚拟化是另一种整合方式。有了虚拟化技术,你就无需在有限的资源条件下布署大量的服务器。
755 0
5487
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载