###### 1.数据库的介绍 ######
1.什么是数据库 数据库就是个高级的表格软件
2.常见数据库 Mysql Oracle mongodb db2 sqlite sqlserver .......
3.Mysql (SUN -----> Oracle)
4.mariadb
###### 2.mariadb的安装 ######
dnf install mariadb-server.x86_64 -y
###### 3.软件基本信息 ######
mariadb.service 启动服务
3306 默认端口号
/etc/my.cnf 主配置文件
/var/lib/mysql 数据目录,当需要重新安装mariadb时需要清理此目录或备份
###### 4.数据库开启 ######
systemctl enable --now mariadb
###### 5.数据库的安全初始化 ######
1.关闭数据库开放端口
vim /etc/my.cnf
[mysqld]
skip-networking=1
systemctl start mariadb
netstatus -antlupe | grep mysql 此命令查询不到端口
2.执行安全初始化脚本
mysql_secure_installation
[root@Mariadb ~]# mysql 默认不需要密码,初始化完毕后需要 ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)
[root@Mariadb ~]# mysql -uroot -p -u 指定登陆用户 -p 密码
###### 6.数据库的基本管理 ######
1.查看
SHOW DATABASES; 显示库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段
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 redhat RENAME linux; 更改表的名字
ALTER TABLE linux ADD age varchar(10) AFTER password; 更改数据,名字为age,长度为10,位置在password之后
ALTER TABLE linux DROP age;
UPDATE linux SET password='g' WHERE username='user2';
4.删除
DELETE FROM linux WHERE username='lue'; 删除数据
DROP TABLE linux; 删除表
DROP DATABASE westos; 删除库
###### 7.数据密码管理 ######
1.数据密码更改
mysqladmin -uroot -p1234 password 12345
2.数据库密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
UPDATE mysql.user set Password=password('123') WHERE User='root'; RHEL7
UPDATE mysql.user set authentication_string=password('123') WHERE User='root'; RHEL8
FLUSH PRIVILEGES;
kill -9 mysql的所有进程
systemctl start mariadb
###### 8.用户授权 #####
CREATE USER linux@localhost identified by '1234'; 只能用localhost登陆
CREATE USER lee@'%' identified by '1234'; 可以通过网络或localhost 登陆
GRANT INSERT,SELECT on westos.* TO linux@localhost; 授权
SHOW GRANTS for linux@localhost;
REVOKE SELECT ON westos.* FROM linux@localhost; 去掉SELECT功能
DROP USER linux@localhost; 删掉用户
CREATE USER lee@localhost identified by '1234'; 只能用localhost登陆
CREATE USER lee@'%' identified by '1234'; 可以通过网络或localhost 登陆
GRANT INSERT,SELECT on westos.* TO linux@localhost; 授权
、
REVOKE SELECT ON westos.* FROM linux@localhost; 去掉SELECT功能
DROP USER linux@localhost; 删掉用户
###### 9.数据库的备份 #####
mysqldump -uroot -p1234 --all-database 备份所有数据
mysqldump -uroot -p1234 --all-database --no-data
mysqldump -uroot -p1234 westos 备份库
mysqldump -uroot -p1234 westos > /mnt/westos.sql 将库的数据导入
mysql -uroot -p1234 -e "create database westos;" 建立库
mysql -uroot -p1234 westos < /mnt/westos.sql 将数据导入库中