目录
- 1.数据库基本介绍
- 2.MariaDB
- 3.数据库安全初始化
- 4.数据库的基本管理
- 5.数据库密码管理
- 6.用户授权
- 7.数据库的备份
- 8.数据库的可视化管理
1.数据库基本介绍
数据库(database)是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
市场上比较流行的数据库管理系统产品主要是Oracle、IBM、Microsoft和Sybase、Mysql等公司的产品。
2.MariaDB
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
2.1、安装mariadb
2.2、mariadb基本信息
- 服务名称:mariadb
- 默认端口号:3306
- 主配置文件:/etc/my.cnf
- 数据目录:/var/lib/mysql
2.3、开启数据库
3.数据库安全初始化
5.1、关闭数据库端口
①:修改主配置文件,vim /etc/my.cnf
②:重启服务,端口号被关闭
5.2、执行安全初始化脚本
①:刚安装的数据库,默认没有密码,执行安全初始化脚本,设置密码,关闭数据库的某些权限
②:初始化完毕后,用密码登录数据库
4.数据库的基本管理
4.1、查看
命令 | 作用 |
SHOW DATABASES; | 显示数据库名称 |
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示mysql数据库中所有表 |
SELECT * FROM user; | 查询user表中所有数据 |
SELECT User,Password FROM user; | 查询user 表中指定的User,Password字段 |
DESC user; | 显示user表的结构 |
示例:
4.2、新建
①:CREATE DATABASE linux
新建名为linux的数据库
②:新建名为student 的数据表
CREATE TABLE student( #创建名为student的表
name varchar(10) NOT NULL, #name字段为varchar类型,最长为10个字符,非空
password varchar(30) NOT NULL, #password字段,
age int , #int型的age字段
sex varchar(6) #长度不超过6的varchar类型的sex字段
);
③:插入数据
INSERT INTO student VALUES('zengxin','175092',21,'girl');
#给student表中插入数据,注意输入的值的数据类型,字符串必须加引号
示例:
4.3、更改
①:ALTER TABLE student RENAME teacher;
#更改student表的名称为teacher
②:ALTER TABLE teacher ADD salary int AFTER sex;
#在sex字段后添加int型的salary 字段
③:ALTER TABLE teacher DROP salary;
# 删除表中的salary字段
④:UPDATE teacher SET age=23 WHERE name='zengxin';
# 把teacher表中,name为zengxin的,age值更改为23
示例:
4.4、删除
①:DELETE from teacher WHERE name='zengxin';
#删除teacher表中name为zengxin的所有数据
②:DROP TABLE teacher;
# 删除teacher表
③:DROP DATABASE linux;
#删除linux数据库
示例:
5.数据库密码管理
5.1、数据库密码更改
mysqladmin -uroot -p1234 paaword 6666
#将数据库原始密码1234改为6666
5.2、数据库密码破解
①:关闭mariadb服务
②:跳过授权表,不用密码即可登录数据库系统 ; & 打入后台执行
③:进入mysql数据库,更改user表中的root的Password值,并用password函数加密,密文存储
④:刷新数据库,保存退出
⑤:关闭mysqld,mysqldf_safe
进程
⑥:开启mariadb服务,可以使用新密码登录数据库
6.用户授权
①:CREATE USER lisa@localhost identified by '8888'
# 建立本地数据库用户lisa,密码为8888
②:GRANT SELECT ON linux.* to lisa@localhost;
# 把linux数据库,授权给lisa用户,即lisa可对linux数据库进行操作
③:SHOW GRANTS for lisa@localhost;
# 查看lisa用户的授权
④:REVOKE SELECT ON linux.* FROM lisa@localhost;
# 去除lisa用户对linux数据库的操作权
⑤ DROP user lisa@localhost;
# 删除lisa用户
7.数据库的备份
命令 | 作用 |
mysqldump -uroot -phaha --all-database | 数据库的完全备份 |
mysqldump -uroot -phaha --all-database --no-data | 备份数据库表的结构,不备份数据 |
mysqldump -uroot -phaha linux | 只备份linux数据库 |
mysqldump -uroot -phaha linux > /mnt/linux.sql | 把数据库备份到指定文件 |
mysql -uroot -phaha -e “drop database linux;” | 在外面执行sql语句,删除linux数据库 |
mysql -uroot -phaha -e “create database linux;” | 在外面执行slql语句,建立linux数据库 |
mysql -uroot -phaha linux < /mnt/linux.sql | 把备份的数据库信息导入新建的数据库中 |
示例:
①:把linux数据库备份到/mnt/mysql.sql文件中,可以看到文件中linux数据库的数据信息
②:删除linux数据库,再新建一个linux数据库
③:查看linux数据库中的表,是空的;把/mnt/mysql.sql文件中数据库信息导入linux数据库中,可以看到数据库的数据被恢复
8.数据库的可视化管理
实验环境:在Redhat企业8(192.168.1.19)主机上搭建Apache服务器
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
①:安装php ,php-mysqlnd,安装完成重启httpd服务
②:在官网下载phpmyadmin软件包,把软件包移到apache的/var/www/html发布目录下
③:修改目录名称,便于访问
④:查看Documentation.txt文件,获取帮助,它让我们复制模板到一个配置文件,并提供需要的ID
⑤:拷贝模板到配置文件,并修改其内容,加上Documentation.txt提供的ID
⑥:用浏览器访问http://192.168.1.19/mysqladmin,输入用户名和密码登录,就可以使用phpmyadmin工具管理我们的数据库了