数据库的管理

mariadb数据库的使用

  • 1 mariadb数据库
    • 1.1 安装mariadb
    • 1.2 软件的基本信息
    • 1.3 数据库开启
  • 2 数据库的安全初始化
    • 2.1 关闭数据库端口
    • 2.2 执行安全初始化脚本
  • 3 数据库的基本管理
    • 3.1 查看
    • 3.2 新建
    • 3.3 插入数据
    • 3.4 更改
    • 3.5 删除
  • 4 数据库密码管理
    • 4.1 数据库密码更改
    • 4.2 数据库密码的破解
  • 5 用户授权
  • 6 数据库的备份和还原
    • 6.1 数据库的备份
    • 6.2 备份数据库的还原
  • 5 MySQL管理工具:phpMyAdmin
    • 5.1 phpmyadmin的安装
    • 5.2 phpmyadmin的使用

1 mariadb数据库

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

1.1 安装mariadb

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

数据库的管理_第1张图片
数据库的管理_第2张图片

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

数据库的管理_第3张图片

2 数据库的安全初始化

2.1 关闭数据库端口

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

数据库的管理_第4张图片在这里插入图片描述

2.2 执行安全初始化脚本

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

数据库的管理_第5张图片

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

数据库的管理_第6张图片
数据库的管理_第7张图片

数据库的管理_第8张图片

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

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

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

数据库的管理_第9张图片

3 数据库的基本管理

3.1 查看

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

数据库的管理_第10张图片数据库的管理_第11张图片数据库的管理_第12张图片

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

数据库的管理_第13张图片

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

数据库的管理_第14张图片

3.3 插入数据

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

数据库的管理_第15张图片

3.4 更改

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

数据库的管理_第16张图片

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

数据库的管理_第17张图片

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

数据库的管理_第18张图片

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

数据库的管理_第19张图片

3.5 删除

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

数据库的管理_第20张图片

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

数据库的管理_第21张图片

  • 删除表: drop table westos;

数据库的管理_第22张图片

  • 删除库:drop database linux;

数据库的管理_第23张图片

4 数据库密码管理

4.1 数据库密码更改

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

数据库的管理_第24张图片

4.2 数据库密码的破解

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

(1)登陆数据库

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

数据库的管理_第25张图片

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

数据库的管理_第26张图片

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

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

在这里插入图片描述

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

数据库的管理_第27张图片
(3)结束mysql的所有进程

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

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

    注意:

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

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

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

数据库的管理_第28张图片

5 用户授权

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

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

数据库的管理_第29张图片

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

数据库的管理_第30张图片

(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;

数据库的管理_第31张图片

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

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

数据库的管理_第32张图片

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

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

数据库的管理_第33张图片

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

数据库的管理_第34张图片

数据库的管理_第35张图片

6 数据库的备份和还原

6.1 数据库的备份

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

数据库的管理_第36张图片

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

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

数据库的管理_第37张图片

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;"

数据库的管理_第38张图片

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

在这里插入图片描述

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

数据库的管理_第39张图片

数据库的管理_第40张图片

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

数据库的管理_第41张图片

(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/, 查看软件安装成功的界面

数据库的管理_第42张图片

5.2 phpmyadmin的使用

(1)输入账号密码登陆

数据库的管理_第43张图片

(2)选择语言

数据库的管理_第44张图片
(2)创建数据库

数据库的管理_第45张图片
(3)在linux库中新建表

数据库的管理_第46张图片
(4)在表中插入数据

数据库的管理_第47张图片
数据库的管理_第48张图片
(5)数据库的查询

数据库的管理_第49张图片

数据库的管理_第50张图片
(6)删除linux数据库

数据库的管理_第51张图片

数据库的管理_第52张图片
数据库的管理_第53张图片

你可能感兴趣的:(linux基础)