一.数据库介绍
1.什么是数据库
数据库就是个高级的表格软件
2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …
3.mariadb:MariaDB数据库管理系统是MySQL的一个分支
二.mariadb的安装
dnf install mariadb-server.x86_64 -y
三.软件的基本信息
mariadb.service | 启动服务 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录,当需要重新安装mariadb时需要清理此目录或备份 |
四.数据库开启
systemctl enable --now mariadb #开机自启并且立马开启
五.数据库的安全初始化
1.关闭数据库开放端口
编辑配置文件关闭数据库开放端口 vim /etc/my.cnf
2.执行安全初始化脚本 mysql_secure_installation
六.数据库的基本管理
1.查看
SHOW DATABASES; | 显示库名称 |
---|---|
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示库中的所有表 |
SELECT * FROM user; | 查询user的所有数据 |
SELECT Host,User,Password FROM user; | 查询指定字段 |
注:命令后有;才完整
用root用户登录数据库:
mysql -u用户名 -p密码 #登陆
SELECT * FROM user; ##查询所有数据
查看表的指定字段:
进入mysql库:
2.新建
CREATE DATABASE westos; | 新建库 |
---|---|
CREATE TABLE linux (username varchar(6) not null,password varchar(30) not null); | 新建表 |
DESC linux; | 显示表结构 |
INSERT INTO linux VALUES (‘user1’,‘123’); | 插入数据 |
FLUSH PRIVILEGES; | 刷新数据库 |
新建库:
新建表并查看表结构:
插入数据:
刷新数据库:
3.更改
ALTER TABLE westos RENAME linux; | 更改表名 |
---|---|
ALTER TABLE linux ADD age varchar(4) AFTER password; | 添加行 |
ALTER TABLE linux DROP age; | 删除行 |
UPDATE linux SET sex=‘g’ WHERE username=‘user2’; | 更改指定位置的数据 |
更改GANG行password列的数据:
添加class行和age行:
删除class行:
4.删除
DELETE from linux where username=‘user2’ and age=‘18’; | 删除指定位置的数据 |
---|---|
DROP TABLE linux; | 删除表 |
DROP DATABASE westos; | 删除库 |
删除Linux表中GANG所在的行:
删除Linux表中GUO所在的行的password列的数据:
删除Linux表:
删除库
退出
quit 和 快捷键ctrl +d
七.数据密码管理
mysqladmin -uroot -pwestos password westos | 更改密码 |
---|
密码破解:
systemctl stop mariadb | 关闭服务 |
---|---|
mysqld_safe --skip-grant-tables & | 跳过认证环节 |
UPDATE mysql.user set Password=password(‘westos’) WHERE User=‘root’; | RHEL7 修改密码为westos |
UPDATE mysql.user set authentication_string=password(‘westos’) WHERE User=‘root’; | RHEL8 修改密码为westos |
kill -9 mysql | 杀死mysql的所有进程 |
systemctl start mariadb | 重启服务 |
开启服务,测试
八.用户授权
CREATE USER sk@localhost identified by ‘doudou’; | 只能用localhost登陆 |
---|---|
CREATE USER sk@% identified by ‘%’; | 可以通过网络或localhost登陆 |
GRANT INSERT,SELECT ON westos.* TO sk@localhost; | 给本地用户插入和查看westos库下的表的权力 |
SHOW GRANTS for sk@localhost; | 查看本地用户的权限 |
REVOKE SELECT ON westos.* FROM sk@localhost; | 移除本地用户的查看权力 |
DROP user sk@localhost; | 移除本地用户 |
九.数据库的备份以及恢复
备份
mysqldump -uroot -pwestos --all-database | 备份数据库中的所有数据 |
---|---|
mysqldump -uroot -pwestos --all-database --no-data | 备份所有库的表结构,不备份内容 |
mysqldump -uroot -pwestos sk’ | 备份数据库sk的所有信息 |
mysqldump -uroot -pwestos sk> /mnt/westos.sql | 备份数据库sk的所有信息,重定向到指定位置 |
备份恢复
mysql -uroot -pwestos -e “create database westos;” | 创建数据库 |
---|---|
mysql -uroot -pwestos sk < /mnt/westos.sql | 将备份文件导入数据库 |
十.phpmyadmin的安装
dnf install httpd php php-mysqlnd -y | 安装php相关服务 |
---|---|
systemctl enable --now httpd | 打开Apache服务 |
systemctl stop firewalld | 关闭火墙 |
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz -C /var/www/html | 解压phpmyadmin文件到Apache默认发布目录下 |
---|---|
cd /var/www/html/ | 移动到Apache默认发布目录下 |
mv phpMyAdmin-3.4.0-all-languages mysqladmin | 改名,也可以不改 |
cp config.sample.inc.php config.inc.php | 获取配置文件 |
(八九十 不完整待补全)