这个章节我们将介绍安装网站的数据库以及远程管理数据库。
我们将使用的数据库是 mariaDB ,这是一个 MySql 的数据库的分支项目。不使用 MySql 的原因是因为需要配置相关的 yum 仓库源,默认的 yum 仓库是没有 MySql 的。
数据库管理工具将采用 HeidiSql ,一个免费开源的数据库管理软件。
学习使用 Sql 之前,建议先学习 Sql 语句以及相关的概念。
准备
- 下载 Herdisql 管理软件 (下载)
- 执行命令
yum install mariadb* -y以安装数据库
开始配置
已经安装了数据库,但是不代表能立即使用数据库。我们要启动数据库的服务以打开数据库服务器。
此时 mariaDB 已经能使用了。我们输入 mysql 进入 mysql Client 开始输入语句。
但是刚刚安装好的数据库是没有密码的,这也是一个不安全的元素,我们输入 exit; 按 Ctrl + c 退出 mysql Client。
执行以下语句以初始化数据库 root 账户的密码。
|
|
此处还需要你输入 root 用户的原密码,但是一开始并没有直接 enter 就好。
然后我们再输入mysql,就会出现 ERROR 1045 (28000): Access denied for user 'root'@'localhost' 字样。我们需要使用 mysql -u root -p, 然后提示输入密码,此时输入密码是不可见长度的,不会显示输入了几个字符使用的 “ * “。
输入正确之后我们就可以进入 mysql client。
配置远程登录
我们现在在 mysql client 中,输入 show grants; 命令查看当前用户的权限。
|
|
第一条语句就是权限语句,我们来具体剖析下这条语句干了什么。
GRANT 是授权命令。
ALL PRIVILEGES 是所有权限。
ON *.* 是指在哪个数据库哪个表中,*.* 是指所有数据库中所有的表。
TO ‘root’@’localhost’ 是指给某个用于在某处登录的时候,root 用户在 localhost 登录的时候。
IDENTIFIED BY PASSWORD ‘*xxxxxxxxxxxxxxxxxxxxxxxxxxx’ 是通过什么来验证登录,后面的引号内的内容是 hash 过的密码,所以你看的时候设置并不是你原先设置的密码。
WITH GRANT OPTION 仍然是权限赋值语句的一部分。
我们剖析完了整个构成,所以我们也写个赋值语句允许 root 用户可以在所有地方登录管理整个数据库。
|
|
‘root’@’%’ 中的 localhost 已经不是 localhost 了,改成了 % 通配符。并且 IDENTIFIED BY 后面的内容也有变化,并不是所有地方登陆所使用的密码都是一样的,根据权限赋值语句去改变的。
那么我们现在就可以通过 Heidisql 去登录我们的数据库服务器并且查看数据和进行 sql 语句查询。
Heidisql 中 主机/IP 填写服务器的 IP 地址,用户名分别是 root 和你设置的密码。
排错
- 无法连接数据库
请使用 端口扫描 尝试扫描服务器的 3306 端口,查看是否开放,如果未开放,请尝试打开防火墙和安全组的限制。
如果你发现本文章有不谨慎或者错误的地方,请通过邮件通知 wly19960911#gmail.com 联系我。如果需要转载的话,只需要指明出处。