1.数据库的介绍
【1】什么是数据库
数据库就是个高级的表格软件
【2】数据库分类
- 关系型数据库:指采用了关系模型组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型,数据库就是由二维表及其之间的联系组成的一个数据组织。
- 非关系型数据库:值菲关系型的 ,分布式的,一键值对存储且结构不固定,可以减少一些时间和空间的开销。非关系型数据库都是针对某些特定的应用需求。
【3】常见的数据库
Aysql Oracle mongodb db2 sqlite sqlserver ……
【4】Mysal (SUN -------> Oracle)
【5】mariadb
2.mariadb的安装
MySQL常用存储数据库引擎分析:数据库存储引擎是数据库底层软件组织,进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、搜索技巧、锁定水平等功能,MySQL的核心警示存储引擎。
MySQL查询存储引擎SQL语句:SHOW ENGINGS(该内容面试经常会问Myisam和 InniDB)
dnf install mariadb-server.x86_64 -y
3.软件基本信息
mariadb.service | 启动服务 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录,当需要重新安装mariadn时需要清理此目录或备份 |
5.数据库的安全初始化
【1】关闭数据库开放端口
vim /etc/my.cnf
[mysald]
skip-networking=1
systemctl restart mariadb
netstatus -antlupe | gerp 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 DATABRSES | 显示库名称 |
---|---|
USE myaql | 进入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 TNTO linux VALUES ('user1','123'); #插入数据
FLUSH PRTVILEGES; #刷新数据库
【3】更改
ALTER TABLE redhat RENAME linux;
ALTER TABLE linux (
username varchar(6) not null,
password varchar(30) not null
); #新建表
DESC linux; #显示表结构
INSERT
【4】删除
DELETE from linux where username='user2' and age='18';
DROP TABLE linux;
DROP DATABASE westos;
7.数据密码管理
【1】数据密码更改
myaqladmin -uroot -plee password westos
【2】数据库密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
UPDATE mysql.user set Password=password('lee') WHERER
User='root' #RHEL7
UPDATE mysql.user set authentication_string=password('lee') WHERE
User='root'; #RHEL8
flush privileges;
kill -9 mysql的所有进程
systemctl start mariadb
8.用于授权
CREATE USER lee@localhost identified by 'lee'; #只能用localhost登录
CREATE USER lee@% identified by '%'; #可以通过localhost登录
GRANT INSERT,SELECT on westos.* TO lee@localhost
DROP user lee@localhost;
9.数据库的备份
mysqldump -uroot -p123 --all-database
mysqldump -uroot -p123 --all-database --no-data
mysqldump -uroot -p123 westos
mysqldump -uroot -p123 westos > /mnt/westos.aql
mysql -uroot -p123 -e "creat database westos;"
mysql -uroot -p123 westos < /mnt/westos.aql
10.phpmyadmin的安装
dnf install httpd oho oho-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld
cp phpMyAdmin-3.4.0-all/languages.tar.gz
mv phpMyAdmin-3.4.0-all-languagess/ mysqladmin
cd mysqladmin
cp config.sample.inc.php conf.inc.php
vim config.inc.php
$cfg['blowfish_secret']='ba17clec07d65003';
firefox http://192.168.00.12/mysqladmin