一、为什么 LNMP 需要先准备数据库

对于 WordPress 这类动态网站来说,页面内容、用户信息、文章数据都不可能只靠静态文件保存。
因此在 LNMP 中,数据库是动态站点上线前必须先准备好的基础组件。

原笔记选择的是 MariaDB,整体思路非常清晰:

  • 先安装并启动数据库
  • 再做安全初始化
  • 然后创建业务数据库和账号
  • 最后验证本地和远程是否都能正常连接

二、如何安装并启动 MariaDB

原笔记的安装步骤如下:

# 安装 mariadb-server
[root@oldboy01 conf.d]# yum install -y mariadb-server

# 设置启动并开机自启
[root@oldboy01 conf.d]# systemctl enable mariadb
[root@oldboy01 conf.d]# systemctl start mariadb

启动完成后,再检查端口和进程:

[root@oldboy01 conf.d]# ss -lntup | grep mysql
[root@oldboy01 conf.d]# ps -ef | grep mysql

只要能看到 3306 端口监听,并且 mysqld 进程正常存在,就说明数据库服务已经启动。

三、为什么安装后还要做安全初始化

原笔记接着用了 mysql_secure_installation 做首次安全配置:

[root@oldboy01 conf.d]# mysql_secure_installation

这个过程主要完成几件事:

  • 给数据库 root 设置密码
  • 删除匿名用户
  • 禁止 root 远程登录
  • 删除测试数据库
  • 刷新权限表

这些动作虽然都是初始化时的一次性操作,但对安全性影响很大。

原笔记还特别提醒:

  • Linux 的 root 和数据库里的 root 是两个完全独立的用户
  • Linux root 管理整个操作系统
  • 数据库 root 只负责管理 MySQL/MariaDB

四、进入数据库前要先理解哪些基础概念

原笔记对数据库几个基本术语做了很接地气的解释:

  • database:可以理解成一个 Excel 文件
  • table:像这个文件里的一个 Sheet
  • 字段:列名
  • 记录:一行数据

对刚接触数据库的人来说,这样理解很容易建立基本概念。

五、常见数据库操作有哪些

原笔记把常见操作拆成了查看、创建、删除和测试几部分。

5.1 查看

show databases;
show tables from mysql;
select user,host from mysql.user;

这些语句分别用于:

  • 查看所有数据库
  • 查看某个库中的表
  • 查看数据库用户及其来源主机

5.2 创建数据库和授权用户

原笔记给出的示例如下:

create database lidao;

grant all on lidao.* to 'lidao'@'localhost' identified by '1';
grant all on lidao.* to 'lidao'@'172.16.1.%' identified by '1';

这里最重要的是授权中的白名单概念:

  • 'localhost' 表示只能在本机连接
  • '172.16.1.%' 表示允许局域网内对应网段访问
  • % 虽然更宽松,但安全性更差

原笔记还提醒了一个细节:

  • % 并不包含 localhost

5.3 删除

drop database lidao;
drop user 'lidao'@'172.16.1.%';
drop user 'lidao'@'localhost';

这部分适合在测试环境里清理演示数据。

六、如何验证数据库连接是否正常

原笔记给了两种典型测试方式。

6.1 本地登录测试

[root@oldboy01 conf.d]# mysql -ulidao -p1

登录后再执行:

show databases;

如果能看到业务库 lidao,说明本地授权可用。

6.2 远程登录测试

先在外部机器安装 MariaDB 客户端工具:

[root@oldboy02 ~]# yum localinstall -y mariadb-5.5.68-1.el7.x86_64.rpm

然后远程连接:

[root@oldboy02 ~]# mysql -ulidao -p1 -h172.16.1.20

如果能成功登录,就说明远程授权和网络访问都已经正确。

七、小结

MariaDB 这一部分可以总结成一个标准顺序:

  • 安装并启动服务
  • 做首次安全初始化
  • 创建业务数据库和业务用户
  • 根据访问场景设置授权白名单
  • 分别验证本地和远程连接

对 LNMP 来说,数据库准备得是否规范,往往会直接影响后面的 PHP 代码部署和站点可用性。