一、对于数据库的基本介绍
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信息也可以不进行更改
接下来就可以利用图形控制数据库