mysql数据库的基本管理

本文详细介绍MariaDB数据库的安装配置、基本管理操作如查询、创建、更改和删除,数据库密码管理,用户授权及备份方法,并提供了图形化管理工具的部署步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 数据库的介绍

  • 什么是数据库:数据库就是个高级的表格软件
  • 常见数据库:Mysql Oracle mongodb db2 sqlite sql-server……
  • Mysql 比较常用 (原来属于SUN公司,在SUN被Oracle收购后,就属于Oracle公司)
  • mariadb 是 mysql 的一个分支
  • 数据库中的常用名词:
    • 字段:表格中的表头
    • 表:表格
    • 库:存放表格的目录
    • 查询:对表格中的指定内容进行查看

2 mariadb的安装

1)输入dnf search mariadb命令,查找软件:
在这里插入图片描述

输入dnf install mariadb-server.x86_64 -y,安装数据库:
在这里插入图片描述

2)输入 rpm -ql mariadb-server命令可以查看该软件的配置文件信息:
在这里插入图片描述

3 软件基本信息

基本信息含义
mariadb.service服务名称
/var/lib/mysql数据目录
/etc/my.cnf.d/mariadb-server.cnf主配置文件
/usr/lib/systemd/system/mariadb.service服务的启动脚本
3306服务默认端口号

4 数据库开启

  • systemctl enable --now mariadb
    在这里插入图片描述

5 数据库的安全初始化

1)数据库开启后,直接输入mysal命令就可以登陆了,此时登陆是不需要登陆密码的,进入后输入“SHOW DATABASES;”命令就可以查看库,这种不要需要密码的登陆是非常不安全的,所以需要进行数据库的安全初始化:
在这里插入图片描述

2)设定数据库的基本安全初始化,输入 mysql_secure_installation命令(初始化脚本),然后系统会要求输入原始登陆密码,Enter current password for root (enter for none):,此时还没有设置过密码直接回车,就会进入到设置数据库管理员密码环节;设置完成后会提示:Remove anonymous users? [Y/n] y,表示是否要禁止匿名用户登录;Disallow root login remotely? [Y/n] y,表示是否禁止管理员通过远程登录;Remove test database and access to it? [Y/n] y,表示删除测试库;Reload privilege tables now? [Y/n] y,表示是否刷新数据库:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

3)登陆数据库,注意-u表示指定用户,-p表示密码,密码也可以像用户一样直接书写到-p后面,但是这样安全性不高,所以采用以下方式登陆数据库:
在这里插入图片描述

4)此时可以查看到,数据库默认是对外开放端口的,会降低数据存储的安全性,所以在企业中需要将端口关闭:
在这里插入图片描述

5)编辑主配置文件/etc/my.cnf.d/mariadb-server.cnf,输入skip-networking=1,表示关闭数据库网络端口,重启服务:
在这里插入图片描述在这里插入图片描述
设定完成后,端口关闭,查看时,就会不显示任何结果:
在这里插入图片描述

6 数据库的基本管理

6.1 查询

命令含义
SHOW DATABASES;显示库名称
USE 库名;进入某个库
SHOW TABLES;显示库中的所有表
SELECT * FROM user;查询user表中的所有数据
SELECT Host,User,Password FORM user;查询指定字段
SELECT Host FORM mysql.user WHERE User=‘root’;从 mysql 数据库的user表中查询User字段为root的Host信息

1)输入“mysql -uroot -p”进入数据库,进入后,输入SHOW DATABASES;命令可以查看库,以下的信息表示目前数据库中只有mysql这一个库:
在这里插入图片描述

2)想要进入这个库的时候,输入“USE+库名;”即可,注意,数据里面要使用分号表示命令结束:
在这里插入图片描述

3)进入库后,想要查看库里面的内容,可以使用“SHOW TABLES;"命令查看库里面有的表:
在这里插入图片描述

4)还可以使用“SHOW TABLES FROM mysql;”命令查看库里面的表,和上面的效果是一样的:
在这里插入图片描述

5)输入“SELECT * FROM user;”命令,可以查看表里面的全部内容:
在这里插入图片描述

6)输入“SELECT Host,User,Password FROM user;”命令,查看表里面的部分字段及其内容:
在这里插入图片描述

7)输入“SELECT Host,User,Password FROM user WHERE User=‘root’ and Host=‘localhost’;”命令,可以查看指定信息:
在这里插入图片描述

8)输入"SELECT Host FROM mysql.user WHERE User=‘root’;"命令查询也是可以的:
在这里插入图片描述

6.2 建立

命令含义
CREATE DATABASE westos;创建一个一个名为 westos 的库
CREATE TABLE linux(username varchar(6) not null,password varchar(30) not null);创建一个数据库表名为llinux,名称长度最多为 6 位且不能为空,密码长度最多为 30 位也不能为空
DESC linux;显示表的结构
INSERT INTO linux VALUES (‘user1’,‘123’);在 linux 表中插入数据,用户名为 user1, 密码为 123
FLUSH PRIVILEGES;刷新数据库

1)新建数据库:
在这里插入图片描述

2)新建表,同时说明表中的字段以及对字段的长度、是否可为空等要求。注意如下所示是为了好区分而换行,写在一行也可以,只要没有分号就说明还没有结束:
在这里插入图片描述

3)查看表的结构:
在这里插入图片描述

4)插入字段信息:
在这里插入图片描述
查询上面建立好的表的全部信息:
在这里插入图片描述

6)插入多条数据,注意插入时密码最好也用引号引起:
在这里插入图片描述
查询linux表的全部信息:
在这里插入图片描述

6.3 更改

命令含义
ALTER TABLE redhat RENAME linux;将 redhat表的名称更改为linux
ALTER TABLE linux ADD age varchar(4) AFTER password;在linux表中添加名为age的字段,长度为 4 位,位于 password 字段之后
ALTER TABLE linux DROP age;删除 linux 表中的 age 字段
UPDATE linux SET sex=‘0’ WHERE username=‘user2;更改指定名称的信息

1)使用“ SHOW TABLES FROM lhy”或“USE lhy;和SHOW tables;”都表示查看lhy库里的表,其效果时=是一样的:
在这里插入图片描述

2)注意库的名称一般是不做修改的,如果有特殊情况需要修改,可以进入/var/lib/mysql,查看会看到,建立好的库名都可以在这里查看到;输入“mv lhy qjw”就表示修改库名,修改完成后,重启服务:
在这里插入图片描述
重启完成后,登陆数据库查看库,可以看到库名修改成功:
在这里插入图片描述
注意:在企业中不会进行如上操作,因为可能会导致数据丢失,此处又修改回来。
3)进入lhy库,查看表:
在这里插入图片描述

4)表名是可以做修改的,使用ALTER:
在这里插入图片描述

5)添加表的字段,此时添加时,若不指定字段的位置,默认字段是加在最后的:
在这里插入图片描述

可以在添加字段的时候指明字段的位置,加之前,可以先把刚才加的字段删除,再重新添加:
在这里插入图片描述

6)此时去查询表中信息时,可以看到表中age字段是空的,可以更新字段中的数据:
在这里插入图片描述

6.4 删除

命令含义
DELETE from linux WHERE username=‘user2’ AND age=‘18’从linux表中删除username字段为 user2 和 age字段为 18 的数据
DROP TABLE linux;删除 linux 数据表
DROP DATABASE westos;删除 westos 库

在这里插入图片描述

注意:删除字段使用DELETE,删除表或者库使用DROP

7 数据库密码管理

7.1 数据库密码更改

若知道原始密码,只需要使用“mysqladmin -uroot -pwestos password liu”命令修改密码即可。
在这里插入图片描述

7.2 数据库密码破解

若忘记密码的情况下就需要破解密码
1)关闭数据库;进入数据库未开启授权表模式,后面加“&”表示在后台运行不占用终端,这样数据库就会跳过授权表被打开:
在这里插入图片描述

2)输入mysql直接进入数据库:
在这里插入图片描述

3)修改密码,mysql库里面的user表就是用户列表,修改里面的authentication_string字段。使用如下的方式修改ia密码后,可以看到,该密码在这个表里面是明文的:
在这里插入图片描述在这里插入图片描述

4)为了提高安全性,所以使用下面的方式修改密码,此时密码就会处于加密状态:
在这里插入图片描述

5)更改完密码后使用ps命令查询mysql的进程,把所有进程结束:
在这里插入图片描述

结束后再查看进程是否存在,注意下面显示的是grep的进程,而不是mysql的进程:
在这里插入图片描述

6)重启服务,使用刚才设定的密码登陆:
在这里插入图片描述

7.3 如何重新安装数据库

当数据库出现无法解决的问题需要重新安装时:

  • 输入 ”systemctl stop mariadb“命令 ,停止数据库
  • 输入“ rm -fr /var/lib/mysql/ ”命令删除该目录
  • 输入“ dnf reinstall mariadb-server”命令重新安装数据库
  • 输入命令 “systemctl enable --now mariadb”开启数据库

在这里插入图片描述在这里插入图片描述

8 数据库中用户建立和授权

1) 输入“SELECT Host,User FROM mysql.user”命令,可以看到当前用户只有root:
在这里插入图片描述

2)建立用户,若用户名后面写@localhost表示该用户只能在数据库所在的主机里面使用,by后面表示该用户的密码;若用户名后面写的是‘%’,表示该用户可以通过网络等登陆数据库,但是数据库有没有这样的功能还需要看数据库的端口是否开启:
在这里插入图片描述

3)删除liu@’%'的用户,重新创建一个不重名的%用户:
在这里插入图片描述在这里插入图片描述

4)在数据库端口没有打开的前提下,%用户和localhost用户都无法使用远程登陆:
在这里插入图片描述

5)编辑/etc/my.cnf.d/mariadb-server.cnf文件,打开数据库端口,重启服务。此时%用户可通过加-h参数实现远程登陆,而localhost用户不可以:
在这里插入图片描述

6)使用liu用户登陆数据库,然后查看库,默认是看不到库的,因为没有权限:
在这里插入图片描述

7)使用root用户进入数据库,新建一个test数据库,建立一个test.userlist表,给表中插入数据,查看表的全部信息:
在这里插入图片描述

8)使用普通用户liu登陆,查看库,发现看不到任何内容。对该用户授权,使他可以查看到库。使用超级用户进入数据库,进行授权,授权完成后进行授权查看,出现SELECT说明授权成功:
在这里插入图片描述

10)使用普通用户进入数据库,就可以查看库:
在这里插入图片描述

查看库中表的内容:
在这里插入图片描述

在表中查插入内容时被拒绝:
在这里插入图片描述

11)若想插入,需要再进行授权,查看授权成功:
在这里插入图片描述

12)使用普通用户进入数据库,进行插入成功:
在这里插入图片描述

13)若想撤销授权,输入以下命令;然后查看,发现没有INSERT权力 :
在这里插入图片描述

14)此时普通用户想再次插入,被拒绝:
在这里插入图片描述

15)用户所拥有的的权力可以在mysql里面的user表中查看。删除用户命令如下:
在这里插入图片描述

9 数据库的备份

命令含义
mysqldump -uroot -p123 --all-database备份所有库
mysqldump -uroot -p123 --all-datebase --no-date只备份库的结构,不备份库的数据
mysqldump -uroot -p123 westos直接显示库的数据
mysqldump -uroot -p123 westos > /mnt/westos.sql将库的信息备份到指定文件中

1)查看数据库中的库:
在这里插入图片描述

2)输入“mysqldump -uroot -pwestos maysql(库名)”命令备份某一个要备份的数据库,系统就会把该库以sql语句的形式输出到屏幕上,此时只需要将文件的内容保存即可,输入“mysqldump -uroot -pwestos mysql > /mnt/mysql.sql”命令,将文件保存到/mnt/mysql.sql中:
在这里插入图片描述在这里插入图片描述

3)要备份所有的库,输入“ mysqldump -uroot -pwestos --all-databases > /mnt/all.sql”命令:
在这里插入图片描述

4)只备份库的结构输入“mysqldump -uroot -pwestos --all-databases --no-data > /mnt/nodata.sql”命令,备份所有库,但是不备份库中的数据:
在这里插入图片描述

5)备份自己创建的库,输入“mysqldump -uroot -pwestos lhy > /mnt/lhy.sql”命令:
在这里插入图片描述

6)进入数据库,删除lhy库:
在这里插入图片描述

输入“mysql -uroot -pwestos -e “CREATE DATABASE lhy;””命令,先将库建立,否则无法备份进库中;然后输入“mysql -uroot -pwestos lhy< /mnt/lhy.sql”命令,将库还原,同时里面的数据也会自动被还原:
在这里插入图片描述

10 数据库的web界面管理器的部署

用图形的方式对数据库进行管理
1)安装phpmyadmin插件,输入“dnf install httpd php php-mysqlnd.x86_64 -y ”命令,php是基于apache发布的,所以需要安装上httpd:
在这里插入图片描述

2)开启httpd,添加火墙策略:
在这里插入图片描述

3)解压phpmyadmin包,到var/www/html/目录下,输入“tar jxf phpMyADmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/”命令;进入该目录下查看,修改软件名称“mv phpMyADmin-3.4.0-all-languages mysqladmin”,为了方便访问:
在这里插入图片描述

4)进入mysqladmin,里面的Documentation.txt是软件的安装文档,可以查看;在mysqladmin目录里,输入“cp config.sample.inc.php config.inc.php ”复制模板,生成配置文件:
在这里插入图片描述在这里插入图片描述
5)此时在网址处,输入172.25.254.136/mysqladmin就可以访问,此时就可以根据之前设置过的用户名,密码进行登陆:
在这里插入图片描述
6)主页面,其他一些查询、添加、修改、删除等操作都可以使用该图形化页面进行:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值