目录
数据库的介绍
数据库是个高级的表格软件。常见的数据库有:mysql、oracle、mongodb、db2、sqlite、sqlserver.....
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 ***************** [mysqld] skip-networking=1 ***************** systemctl restart mariadb netstatus -antlupe | grep mysql #此命令查询不到端口
2、执行安全初始化脚本
mysql_secure_installation mysql ##默认不需要密码,初始化完毕后需要 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) mysql -uroot -p123 ## -u 指定登陆用户 -p 密码
安装前,不需要密码:
安装后,需要密码登录:
数据库的基本管理
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(4) AFTER password; ##增加表格的列 ALTER TABLE linux DROP age; UPDATE linux SET sex='g' WHERE username='user2'; ##更新表格信息
4、删除
DELETE from linux where username='user2' and age='18'; ##删除表格中的信息 DROP TABLE linux; ##删除表格 DROP DATABASE westos; ##删除数据库
数据密码管理
1、数据密码更改
mysqladmin -uroot -plee password westos
2、数据库密码破解
systemctl stop mariadb ##停止mariadb服务 mysqld_safe --skip-grant-tables & ##后台运行,进入设置 mysql UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; ##RHEL8中,更新密码 flush privileges; ##刷新 kill -9 mysql的所有进程 systemctl start mariadb ##开启mariadb服务
用户授权
## 新建用户 CREATE USER lee@localhost identified by 'lee'; ##只能用localhost登陆 CREATE USER lee@% identified by '%'; ##可以通过网络或localhost登陆 ## 用户授权 GRANT INSERT,SELECT ON westos.* TO lee@localhost; SHOW GRANTS for lee@localhost; ## 取消授权 REVOKE SELECT ON westos.* FROM lee@localhost; ## 删除用户 DROP user lee@localhost;
新建用户:
新建用户:
新建用户的授权:
取消授权:
删除用户:
数据库的备份
mysqldump -uroot -p123 --all-database ##数据库全部备份
mysqldump -uroot -p123 --all-database --no-data ##数据库备份,仅备份表格格式
mysqldump -uroot -p123 westos ##备份westos数据库
mysqldump -uroot -p123 westos > /mnt/westos.sql
##将westos数据库的信息备份并导入/mnt/westos.sql中
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
ending......