1.数据库的介绍
1.什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。数据库就是个高级的表格软件。
2.常见数据库: MySQL 、Oracle、 mongodb 、db2 、sqlite、 sqlserver …
2.MariaDB的安装
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
dnf install mariadb-server.x86_64 -y
3.软件基本信息
mariadb.service | 服务名称 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录 |
4.数据库开启
systemctl enable --now mariadb
5.数据库的安全初始化
5.1 关闭数据库开放端口
vim /etc/my.cnf
[mysqld]
skip-networking=1
systemctl restart mariadb
netstatus -antlupe | grep mysql
#此命令查询不到端口
5.2 执行安全初始化脚本
mysql_secure_installation
mysql -uroot -p
## -u 指定登陆用户 -p 密码
注意:默认不需要密码,初始化完毕后需要密码
6.数据库的基本管理
6.1 查看
查看数据库的SQL语句 | 功能 |
---|---|
SHOW DATABASES; | 显示库名称 |
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示库中的所有表 |
SELECT * FROM user; | 查询所有数据 |
SELECT Host,User,Password FROM user; | 查询指定字段 |
6.2 新建
新建数据库的SQL语句 | 用途 |
---|---|
CREATE DATABASE red; | 新建库 |
CREATE TABLE linux ( username varchar(6) not null, password varchar(30) not null ); | 新建表 |
DESC linux; | 显示表结构 |
INSERT INTO linux VALUES (‘user1’,‘123’); | 插入数据 |
注意:如果重装库,需要手动删除原有文件
6.3 对于数据表更改
注意:更改数据库的名称可能会导致数据丢失,如需更改要先备份。
更改数据库的SQL语句 | 用途 |
---|---|
ALTER TABLE linux RENAME redhat; | 更改表名称 |
ALTER TABLE linux ADD sex varchar(5) ; | 添加列表字段 |
ALTER TABLE linux ADD age varchar(4) AFTER password; | 在某个字段后添加字段 |
ALTER TABLE linux DROP age; | 删除指定字段 |
UPDATE linux SET sex=‘g’ WHERE username=‘user2’; | 修改列表中的数据 |
6.4 删除
删除数据库的命令 | 用途 |
---|---|
DELETE FROM linux where username=‘user2’ and age=‘18’; | 删除数据 |
DROP TABLE linux; | 删除表 |
DROP DATABASE westos; | 删除库 |
7.数据密码管理
7.1数据密码更改
mysqladmin -uroot -plee password westos
7.2数据库密码破解
1.关闭mariadb
systemctl stop mariadb
2.开启数据库单用户模式
mysqld_safe --skip-grant-tables &
启动数据库时跳过数据库的授权表
3.重置数据库密码
UPDATE mysql.user set Password=password('zxc'),authentication_string=password('zxc') WHERE User='root';
重置数据库密码
kill -9
杀掉mysql的所有进程
systemctl start mariadb
8.用户授权
CREATE USER fly@localhost identified by 'lee';
建立新用户
SHOW GRANTS for lee@localhost;
查看用户的授权
GRANT SELECT ON red.* TO fly@localhost;
对用户进行授权
REVOKE SELECT ON red.* FROM fly@localhost;
取消授权
DROP user lee@localhost;
删除用户
9.数据库的备份
9.1 数据库的完全备份
mysqldump -uroot -pzxc --all-database
完全备份数据
mysqldump -uroot -pzxc --all-database --no-data
只完全备份表结构,不要数据
9.2 数据库的指定备份
mysqldump -uroot -pzxc red
指定备份数据库red
mysqldump -uroot -pzxc red > /mnt/red.sql
指定备份数据库red到文件
9.3 恢复备份
mysql -uroot -pzxc -e "create database red;"
创建库
mysql -uroot -pzxc red < /mnt/red.sql
恢复备份
10.phpmyadmin的安装
(需要通过浏览器实现功能)
1.安装Apache
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld
2.解压 phpMyAdmin到httpd默认发布目录,并解压
cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
cd /var/www/html/
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
mv phpMyAdmin-3.4.0-all-languages /etc/phpadmin
firefox http://192.168.0.18/mysqladmin