一、对于数据库的基本介绍
1.什么是数据库
 数据库就是个高级的表格软件
2.常见数据库
 Mysql Oracle mongodb db2 sqlite sqlserver …
3.Mysql (SUN -----> Oracle)
4.mariadb (Mysql的一种)
数据库中的常用名词
 1.字段 :表格中的表头
 2.表 :表格
 3.库 :存放表格的目录
 4.查询 :对表格中的指定内容进行查看
二、数据库的安装及安全初始化
(一)mariadb的安装
dnf install mariadb-server.x86_64 -y

 启动程序
 systemctl enable --now mariadb
 
(二)软件的基本信息
启动服务 mariadb.service
 默认端口号 3306
 主配置文件 /etc/my.cnf.d/mariadb-server.cnf
 数据目录 /var/lib/mysql (当需要重新安装mariadb时需要清理此目录或备份)
(三)数据库的安全初始化
1、关闭数据库开放端口
编辑配置文件
 
 重启服务 systemctl restart mariadb
2、执行安全初始化脚本
数据库安全初始化脚本
 mysql_secure_installation
 
 
 设定完密码之后 所有问题全部选是
mysql -uroot -p ## -u 指定登陆用户 -p 密码
 
三、数据库的基本管理
首先登陆数据库
 mysql -uroot -p
 
(一)查看
| USE mysql; | 进入mysql库 | 
|---|---|
| SHOW DATABASES; | 显示库名称 | 
| SHOW TABLES; | 显示库中的所有表 | 
| SELECT * FROM user; | 查询所有数据 | 
| SELECT Host,User,Password FROM user; | 查询指定字段 | 
(二)新建
1、 新建库
CREATE DATABASE westos;

2、新建表
CREATE TABLE westos.userlist (
 
 尽量打了(之后 在下一行编写字段信息
 再);执行
 便于排错
 
 
 插入数据
 INSERT INTO westos.userlist VALUES (‘user1’,‘123’);

(三)更改
1、更改库

 一般情况下不会更改库的名字,容易造成数据混淆
登陆数据目录
 
 将想要更改的库的名字改掉
 
2、更改表
USE westos;进入westos库

 更改表的名字
 ALTER TABLE userlist RENAME linux;

 更改表的结构
添加一个年龄(添加一个age字段)
 ALTER TABLE userlist ADD age varchar(4) AFTER password;
 
 放弃一个字段
 
 更改表头数据
 UPDATE user list set age=18;
 
 指定一个修改
 UPDATE userlist set age=20 WHERE username=‘user1’;

(四)删除
删除用户
 DELETE FROM userlist WHERE username=‘user’ AND age=‘18’;
 
 删除表头数据
 ALTER TABLE userlist DROP age;

删除表
 DROP TABLE userlist;
 
删除库
 DROP DATABASE westos;
 
四、数据库的密码管理
(一)数据库密码更改
将数据库的密码从westos 改为lee
 mysqladmin -uroot -pwestos password lee
 
(二)数据库密码破译
第一步 关闭数据库
 systemctl stop mariadb
 第二步 启动数据库的安全模式
 mysqld_safe --skip-grant-tables &
接下来不需要密码直接可以进入到数据库
 
 然后 需要更新数据库的信息
 更改密码存放的字段的内容
UPDATE mysql.user SET authentication_string=password(‘westos’) WHERE User=‘root’;
 
 把所有数据库的进程全部过滤出来
 ps aux | grep mysql
然后需要结束掉
kill -9 mysql的所有进程
 
这样mysql才能重启
重启数据库
 systemctl start mariadb
五、数据库的授权操作
CREATE USER lee@‘%’ identified by ‘lee’;
 %表示登陆数据库的主机可以是任意主机
CREATE USER lee@‘localhost’ identified by ‘lee’;
 localhost表示lee只能再数据库所在的主机中使用

 先建立一个数据库
 CREATE DATABASE westos;
再建立一个表
 CREATE TABLE westos.userlist (
 username varchar(10) not null,
 password varchar(50) not null
 );
 
用lee用户登陆数据库
 mysql -ulee -plee
 
 此时lee用户没有权利查看库
 
退出
 使用root超级用户登陆并且予之授权
 mysql -uroot -p
查看用户的权利
 SHOW GRANTS for lee@localhost;
 
 授权
 GRANT INSERT,SELECT ON westos.* TO lee@localhost;
 
 收回权利 收回INSERT权利
 REVOKE INSERT ON westos.* FROM lee@localhost;
 
六、数据库的备份及还原
不用进入数据库执行命令
 mysql -uroot -p -e “命令”
 
备份所有的库
 mysqldump -u root -p --all-database
备份 只是需要表不需要里面的数据
 mysqldump -u root -p --all-database --no–data
备份指定的库
 mysqldump -u root -p westos
输出到文件中
 mysqldump -u root -p westos > /mnt/westos.sql
 
把数据库中westos库删掉
 mysql -uroot -pwestos -e “DROP DATABASE westos;”
 
如何将备份出来的westos.sql文件复原
第一种方法 先建立一个库 再将备份文件导入库中
建立一个库
 mysql -uroot -pwestos -e “create database westos;”
备份文件导入库中
 mysql -uroot -pwestos westos < /mnt/westos.sql

第二种方法 编辑配置文件
 vim /mnt/westos.sql
 
 再导入
 mysql -uroot -pwestos < /mnt/westos.sql

七、数据库的web控制器
安装phpmyadmin的运行环境
dnf install httpd php php-mysqlnd -y
 
 开启服务
 systemctl enable --now httpd
让火墙运行我们能使用
 firewall-cmd --permanent --add-service=http

 将phpmyadmin压缩包解开到默认发布目录
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -c /var/www/html/
 
从文本模板生成配置文件
 cp config.sample.inc.php config.inc.php
可以输入自己的ip信息也可以不进行更改

 接下来就可以利用图形控制数据库
