当前位置:首页 > 问答 > 正文

LAMP环境里数据库到底怎么弄,步骤和注意点分享给你看看

LAMP这四个字母,L是Linux系统,A是Apache网页服务器,M就是我们要说的MySQL数据库(现在更多人用它的一个分支叫MariaDB,用法基本一样,你就当是同一个东西),P是PHP语言,数据库在这里面就像是网站的仓库,所有用户信息、文章内容、商品数据啥的,都存放在这个仓库里,你的PHP程序就像是个仓库管理员,当需要存东西或者取东西的时候,就去跟数据库打交道。

在LAMP环境里“弄”数据库,主要分两大步:第一步是把数据库软件安装好并让它跑起来;第二步是学习怎么去使用和管理这个数据库。

第一步:安装和启动数据库

在Linux上安装软件非常方便,特别是像Ubuntu、CentOS这样的常用系统,用一行命令就能搞定。

在Ubuntu系统里,你打开终端,输入 sudo apt-get update 先更新一下软件列表,然后输入 sudo apt-get install mysql-server,系统就会自动把MySQL数据库服务器给你装好,如果是CentOS系统,可能用的是 sudo yum install mysql-server 或者新版本的 sudo dnf install mysql-server,安装过程中,可能会弹出一个界面让你设置数据库的root用户密码,这个密码超级重要,是数据库的最高管理员密码,一定要设一个复杂的并且记牢。

安装完之后,数据库服务默认是不会自己启动的,你需要手动启动它,并且设置成每次开机自动启动,这样服务器重启了网站才能正常访问,启动的命令通常是 sudo systemctl start mysql(或者有些系统里叫 mysqld),检查状态的命令是 sudo systemctl status mysql,看看它是不是正常在跑,设置开机自启的命令是 sudo systemctl enable mysql

LAMP环境里数据库到底怎么弄,步骤和注意点分享给你看看

这些基础步骤做完,你的数据库“仓库”就已经在后台运行了,随时准备接收指令。

第二步:使用和管理数据库(这里才是重点和容易出问题的地方)

光有仓库不行,你得会进去摆货架、放东西、取东西。

LAMP环境里数据库到底怎么弄,步骤和注意点分享给你看看

  1. 登录数据库: 你需要在终端里用命令连接到数据库,最常用的命令是 mysql -u root -p,敲回车后,它会提示你输入刚才安装时设的那个root密码,密码正确,你就进入了数据库的命令行界面,看到一个提示符变成 mysql>,这说明你已经以管理员的身份进去了,可以开始下命令了。

    • 注意点1(安全): 绝对不要用root账户去管理具体的网站数据库,root权限太大了,万一你的网站程序有漏洞,黑客可能通过网站程序直接拿到root权限,把你整个数据库都删掉,这非常危险。
  2. 创建专门用于网站的数据库和用户: 正确的做法是,为你的每一个网站创建一个独立的数据库和一个独立的管理用户。

    • mysql> 提示符下,输入 CREATE DATABASE mywebsite; (注意分号不能少),这就创建了一个名叫mywebsite的数据库。
    • 然后创建一个用户,比如叫 webuser,并设置密码:CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'a_strong_password'; 这里的localhost意思是这个用户只能从本机(也就是你的这台服务器上)连接数据库,这样更安全。
    • 把这个新数据库的所有权限都给这个新用户:GRANT ALL PRIVILEGES ON mywebsite.* TO 'webuser'@'localhost';
    • 让权限设置生效:FLUSH PRIVILEGES;
    • 做完这些,你就可以输入 exit 退出root的登录了,以后你的网站程序连接数据库时,就用webuser这个用户名和对应的密码,连接mywebsite这个数据库,这样即使出问题,损失也仅限于这一个数据库。
  3. 网站程序如何连接数据库(核心环节): 这是最容易出错的一步,你的PHP程序(比如WordPress、Discuz这类开源程序)需要知道怎么找到并登录你刚创建的仓库,这个连接信息通常写在一个配置文件里,比如WordPress的wp-config.php文件。

    • 你需要在这个文件里找到以下几行代码,并填上你刚才创建的信息: define('DB_NAME', 'mywebsite'); //数据库名 define('DB_USER', 'webuser'); //用户名 define('DB_PASSWORD', 'a_strong_password'); //密码 define('DB_HOST', 'localhost'); //数据库服务器地址,一般在同一台机器就是localhost
    • 注意点2(排错): 绝大部分网站安装时提示“无法连接数据库”的错误,都出在这个配置环节,你要像侦探一样检查四件事:①数据库名拼写对吗?②用户名对吗?③密码肯定没错吗?(密码复杂的时候最容易输错大小写或特殊符号)④DB_HOST地址写对了吗?99%的问题都在这四点里。
  4. 日常维护和备份: 数据库不是放那儿就不用管了。

    • 备份!备份!备份! 这是最重要的注意点,在你对网站或数据库做任何大的修改之前,一定要先备份数据库,最简单的备份命令是 mysqldump -u root -p mywebsite > mywebsite_backup.sql,这会把整个mywebsite数据库导出到一个叫mywebsite_backup.sql的SQL文件里,如果出了问题,你可以用 mysql -u root -p mywebsite < mywebsite_backup.sql 这个命令把数据恢复回来。
    • 注意点3(安全): 定期修改数据库用户的密码,那个备份出来的.sql文件包含了所有数据,要把它当成机密文件一样保管好,不要随便放在网站能访问到的目录里。

在LAMP环境里弄数据库,核心思路就是:安装启动 -> 创建专用账户和库 -> 在网站配置文件中正确填写连接信息 -> 时刻不忘备份,避开直接用root、配置信息出错、不备份这几个大坑,你的数据库基本就能平稳运行了。