数据库的管理

1 mariadb数据库

MariaDB 是一个采用 Maria 存储引擎的MySQL分支版本,是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。

1.1 安装mariadb

dnf search mariadb
dnf install mariadb-server.x86_64 -y

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

1.2 软件的基本信息

  • mariadb.service :启动服务
  • 3306 :默认端口号
  • /etc/my.cnf :主配置文件
  • /var/lib/mysql:数据目录,当需要重新安装mariadb时需要清理此目录或备份

1.3 数据库开启

  • 开启mariadb服务: systemctl enable --now mariadb.service
  • 查看mysql端口是否开启: ss -antlupe |grep mysql

在这里插入图片描述

  • 查看mariadb服务的状态:systemctl status mariadb.service

在这里插入图片描述

2 数据库的安全初始化

2.1 关闭数据库端口

  • 编辑数据库的配置文件:vim /etc/my.cnf.d/mariadb-server.cnf
  • 重启数据库服务:systemctl restart mariadb.service
  • 查看mysql的端口:ss -antlupe |grep mysql

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

2.2 执行安全初始化脚本

  • 安装完数据库后,默认不需要密码就能登陆

在这里插入图片描述

  • 执行完安全初始化脚本: mysql_secure_installation

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

在这里插入图片描述

  • 执行完安全初始化脚本后需要指定登陆用户的帐号和密码:
    登陆有两种方式:

(1) mysql -uroot -p:指定用户,然后根据提示输入用户的密码

(2)mysql -uroot -pwestos : -u:用户,-p:密码

在这里插入图片描述

3 数据库的基本管理

3.1 查看

  • 常用的查看数据库数据的命令
命令功能
show databases;显示库的名称
use username;进入username的库
show tables;显示库中的表
select * from tablename;查询tablename表中的所有数据
select User from tablename;查询tablename表中的User字段的数据
  • 数据库中查看命令的使用

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

3.2 新建

  • 常用的新建数据库及表的命令
命令功能
create database linux;新建库
use linux;进入linux库
create table student(name varchar(12) not null, passwd varchar(20) not null);新建表
desc linux;显示表结构
  • 创建一个库linux,并在linux库中创建student表,其中student表中包括字段name和passwd

在这里插入图片描述

  • 使用linux库:use linux
  • 创建student表
create table student(name varchar(12) not null,passwd  varchar(20) not null);
  • 查看表linux的结构:desc linux;

在这里插入图片描述

3.3 插入数据

  • 插入一条数据:insert into student values('hello','123');
  • 插入两条数据:insert into student values('lim','123'),('tom','234');
  • 查看linux表中的所有字段:select * from linux;
  • 刷新数据库:flush privileges
  • 必须使用flush privileges的两种情况:改密码和授权超用户

在这里插入图片描述

3.4 更改

  • 重命名表的名称:alter table linux rename westos;

在这里插入图片描述

  • 在表中添加age字段:alter table westos add age varchar(3);
  • 指定插入字段的位置: alter table westos add class varchar(16) after name;
    在表中插入字段时,最好不要将字段添加到表的第一个字段,

在这里插入图片描述

  • 删除表中的指定字段:alter table westos drop class;

在这里插入图片描述

  • 将name字段值为“ tom ”行的passwd值更改为 “ 666 ”
    update westos set passwd='666' where name='tom';

在这里插入图片描述

3.5 删除

  • 删除westos表中name=‘coco’的所在行:delete from westos where name='coco';

在这里插入图片描述

  • 删除westos表中name=tom或者passwd=123的行: delete from westos where name='tom' or passwd='123';

在这里插入图片描述

  • 删除表: drop table westos;

在这里插入图片描述

  • 删除库:drop database linux;

在这里插入图片描述

4 数据库密码管理

4.1 数据库密码更改

有root用户的原始密码时,可以通过下面的命令直接修改数据库的密码:mysqladmin -uroot -pwestos password root

在这里插入图片描述

4.2 数据库密码的破解

如果忘记数据库的原始密码,可以通过下面的步骤破解数据库的密码

(1)登陆数据库

  • 关闭mariadb服务:systemctl stop mariadb.service
  • 查看mariadb服务的状态:systemctl status mariadb.service

在这里插入图片描述

  • 将数据库的安全检测打入后台:mysqld_safe --skip-grant-tables &
  • mysql:登陆数据库

在这里插入图片描述

(2)进入数据库后修改密码

  • 在rhel7中修改数据库的密码
update mysql.user set Password=password('westos') where User='root';

在这里插入图片描述

  • 在rhel8中修改数据库的密码:
update mysql.user set authentication_string=password('westos') where User='root';

在这里插入图片描述
(3)结束mysql的所有进程

  • 查看mysql的所有进程: ps -aux | grep mysql

  • 结束mysql的所有进程:kill -9 34536 34636

    注意:

    一定要确保musql的所有进程结束,否则重启数据库后,mysql可以直接登陆,不需要用户和密码

(4)验证密码是否更改成功

  • 重启mariadb服务:systemctl restart mariadb.service
  • root用修改过的密码重新登陆数据库:mysql -uroot -pwestos

在这里插入图片描述

5 用户授权

(1)创建用户只能用localhost登陆

create user linux@'localhost' identified by 'linux';

在这里插入图片描述

  • 授权后linux用户可以登陆,但是没有查看的权限

在这里插入图片描述

(2)通过网络或localhost登陆

  • 赋予权限:grant 权限 on 数据库名.数据表 to 用户名@可登录地址;
 grant insert,select on mysql.*  to linux@localhost;  ##将 insert,select的权限 赋予linux@localhost 

在这里插入图片描述

  • 查看权限:show grants for 用户名@可登录地址;
show grants for linux@localhost;

在这里插入图片描述

(3)收回权限:revoke 权限 on 数据库名.数据表 用户名@可登录地址;

revoke select on mysql.* from  linux@localhost ##收回 linux@localhost的select权限

在这里插入图片描述

  • 收回mysql.*的用户授权:evoke select on mysql.*from lee@localhost;

  • 查看权限:show grants for lee@localhost;

在这里插入图片描述

  • 删除用户linux:drop user linux@localhost;
  • 刷新数据库:flush privileges;

在这里插入图片描述

在这里插入图片描述

6 数据库的备份和还原

6.1 数据库的备份

(1)备份所有的数据库:mysqldump -uroot -pwestos --all-database

在这里插入图片描述

(2)备份所有的数据库,不包括数据

mysqldump -uroot -pwestos --all-database --no-data

在这里插入图片描述

6.2 备份数据库的还原

(1)实验环境:

  • 创建数据库linux: mysql -uroot -pwestos -e "create database linux;"
  • 备份据库linux中的数据到/mnt/linux.sql
 mysqldump -uroot -pwestos linux  >/mnt/linux.sql

在这里插入图片描述

  • 删除linux库: mysql -uroot -pwestos -e "drop database linux;"

(2)恢复备份数据库的两种方式

  1. 先创建库再还原数据库
  • 创建数据库:mysql -uroot -pwestos -e "create database linux;"

  • 将备份的数据导入linux库中:mysql -uroot -pwestos linux < /mnt/linux.sql

  • 查看linux库中student表的内容:

mysql -uroot -pwestos -e "select * from linux.student;"

在这里插入图片描述

  1. 直接还原被删的数据库
 mysql -uroot -pwestos  < /mnt/linux.sql

在这里插入图片描述

  • 出现错误提示,没有数据库被选择,原因是备份的/mnt/linux.sql文件中没有创建linux库和使用这个库,编辑/mnt/linux.sql文件,添加创建库linux和进入linux库的命令:

在这里插入图片描述

在这里插入图片描述

5 MySQL管理工具:phpMyAdmin

phpMyAdmin 是使用最广泛的MySQL图形化管理工具,是一款使用PHP 开发的基于B/S模式的 MySQL 客户端软件,该工具是基于 Web 跨平台的管理程序,并且支持多语言。

phpMyAdmin 为Web 开发人员提供了类似 Access,SQL Server 的图形化数据库操作界面,通过该管理工具可以对 MySQL 进行各种操作,如何创建数据库,数据表和生成 MySQL 数据库脚本文件等。

5.1 phpmyadmin的安装

(1)开启httpd服务:systemctl start httpd

(2)关闭防火墙: systemctl stop firewalld

(3)安装软件:dnf install php php-mysqlnd.x86_64 -y

在这里插入图片描述

(4)官网下载安装包:phpMyAdmin-3.4.0-all-languages.tar.bz2

(5)将安装包解压到/var/www/html/目录下:tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
(6)重命名: mv phpMyAdmin-3.4.0-all-languages/ mysqladmin

(7)进入到/var/www/html/mysqladmin目录中复制模板文件:cp config.sample.inc.php config.inc.php

(8)重启httpd服务:systemctl start httpd

(9)输入网址:http://172.25.254.10/mysqladmin/, 查看软件安装成功的界面

在这里插入图片描述

5.2 phpmyadmin的使用

(1)输入账号密码登陆

在这里插入图片描述

(2)选择语言

在这里插入图片描述
(2)创建数据库

在这里插入图片描述
(3)在linux库中新建表

在这里插入图片描述
(4)在表中插入数据

在这里插入图片描述
在这里插入图片描述
(5)数据库的查询

在这里插入图片描述

在这里插入图片描述
(6)删除linux数据库

在这里插入图片描述

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

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值