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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介:

前面安装的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
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
836 7
|
人工智能 关系型数据库 OLAP
聚光灯已就位!阿里云瑶池数据库邀你征战Cursor首届实战征文大赛
阿里云AnalyticDB携手Cursor中文社区,正式发起首届实战征文大赛!我们诚邀开发者融合Cursor的智能编程能力与AnalyticDB PostgreSQL提供的Supabase服务进行项目开发,让优秀项目被专家看见、被机遇拥抱!
|
10月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
11月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
496 1
|
11月前
|
SQL 数据建模 关系型数据库
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
2564 4
|
8月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
679 0
|
10月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
8月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
514 158
|
8月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
8月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1289 152