Linux中mysql数据库的基本管理

一. 数据库的介绍

1.什么是数据库

数据库就是个高级的表格软件

2.常见的数据库

mysql oracle mongodb db2 sqlite sqlserver ...,

3 .Mysql (SUN ---->Oracle)

4.mariadb

2.Mysql数据存储结构

2.1 组成:“ 数据库 ” - - -> “ 数据表 ” - - -> “ 数据 ”

2.2 管理数据库所要使用的命令

管理数据库需要使用SQL(结构化查询语言)

SQL语言分为:

1 数据查询语言DQL

按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据。

命令:SELECT…FROM…WHERE…

2 数据操纵语言DML

对已经存在的数据库进行元组的插入、删除、修改等操作

命令:INSERT、UPDATE、DELETE

3 数据定义语言DDL

创建、修改或删除数据库中各种对象,包括表、视图、索引等。

命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE ,
       DROP TABLE , DROP VIEW, DROP INDEX

4 数据控制语言DCL

用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视

命令:GRANT、REVOKE、COMMIT、ROLLBACK

二. mariadb的安装

dnf  install  mariadb-server.x86_64 -y

在这里插入图片描述

三. 软件基本信息

mariadb.service    启动服务

3306         默认端口号

/etc/my.cnf       主配置文件

/var/lib/mysql数据目录,当需要重新安装mariadb时需要清理此目录或备份

四. 开启数据库

systemctl  enable  --now  mariadb.service

在这里插入图片描述

五. 数据库的安全初始化

5.1 关闭数据库开放端口

编辑主配置文件:vim /etc/my.cnf

在这里插入图片描述

编辑完成后需要重新启动mariadb服务

查询端口:
ss -antulpe | grep mysql 和 netstat -antulpe | grep mysql都可以查询端口

在这里插入图片描述

第一次查询端口:显示端口号为3306

第二次查询端口:查询不到这是因为我们将数据库端口关闭

5.2 执行安全初始化脚本

mysql_secure_installation

默认登陆不需要密码:

在这里插入图片描述

开始安全初始化:

在这里插入图片描述

在这里插入图片描述

设置完成之后再次进入mysql时需要密码

建议在设置时都设置成y,这样比较安全。

测试:

在这里插入图片描述

-u 指定用户
-p 用密码登陆

六. 数据库的基本管理

6.1 查看

SHOW DATABASES; 显示所与库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段

注意:命令都要大写(规范)并且每一次写完命令之后结尾都要加

SHOW DATABASES;   显示所有数据库

在这里插入图片描述

SELECT Host,User,Password FROM mysql.user;  查询指定字段

在这里插入图片描述

USE mysql;             进入mysql数据库

在这里插入图片描述

SHOW TABLES;          显示库中所有表

在这里插入图片描述

SELECT * FROM user;         显示所有数据

在这里插入图片描述

6.2 新建

CREATE DATABASE xuepang; 新建库
CREATE TABLE xuepang ( 第一步
username varchar(6) not null, 第二步
password varchar(30) not null 第三步
); 新建表(完成)
DESC xuepang; 显示表结构
INSERT INTO xuepang VALUES (‘user1’,‘123’); 插入数据
FLUSH PRIVILEGES; 刷新数据库

CREATE DATABASE xuepang;           新建库

在这里插入图片描述

CREATE TABLE xuepang;       新建表格xuepang

在这里插入图片描述

注意:如果不加路径你在哪里建立表格,表格就在哪里。

DESC xuepang;          显示xuepang表格的结构

在这里插入图片描述

INSERT INTO xuepang.xuepang VALUES (‘user’,‘password’);
给表格中插入相关数据

注意:插入数据的时候要加单引号,并用,号隔开。

在这里插入图片描述

6.3 更改

ALTER TABLE xuepang RENAME xue; 更改数据表名称
ALTER TABLE xue ADD age varchar(4) AFTER password; 添加表头
ALTER TABLE xue DROP age; 删除表头
UPDATE xue SET age=‘18’ WHERE username=‘user2’; 添加条件给用户

ALTER TABLE xuepang RENAME xue;       更改数据表名称

在这里插入图片描述

ALTER TABLE xue ADD age varchar(3) AFTER username;  在表格中添加age这一列

注意:在添加时要有一个参考尽量添加在参考物之后。

在这里插入图片描述

UPDATE xue SET age=‘18’ WHERE username=‘zyj’;   给xue这个表中的zyj中添加age

在这里插入图片描述

注意:在添加时要注意条件相同时加and再加一个条件添加。

在这里插入图片描述

ALTER TABLE xue DROP age;        删除age这个表头

在这里插入图片描述

6.4 删除

DELETE from xue where username=‘user’ and age=‘18’; 删除xue表中zyj的数据
DROP TABLE xue; 删除xue这个表格
DROP DATABASE xuepang; 删除xuepang这个数据库

DELETE from xue WHERE username=‘user’ and age=‘18’;      删除

在这里插入图片描述

DROP TABLE xue;          删除xue这个表格

在这里插入图片描述

DROP DATABASE xuepang;       删除xuepang这个数据库

在这里插入图片描述

七. 数据密码管理

修改密码:一共分为两种。

第一种:数据密码更改

在这里插入图片描述

第二种:数据库密码破解

先停止mariadb服务

systemctl   stop   mariadb.service    停止mariadb服务

在这里插入图片描述

mysqld_safe --skip-grant-tables &

将服务打入后台进行操作(做这一步之后mysql不需要密码便可以进入)

注意:一定要将服务关闭之后再输入命令

在这里插入图片描述

第一步:UPDATE mysql.user SET Password=password(‘lee’) WHERE User=‘root’;
第二步:UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’;

注意:rhel7修改时需要两步都进行而rhel8只需要进行第二步

修改密码修改的时认证密码和用户密码;

注意:Password=password(’***’)表示密码为一串字符。

在这里插入图片描述

在这里插入图片描述

进入mysql后输入命令后回车(Enter)

UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’;

在这里插入图片描述

退出之后,关闭mariadb的所有进程

在这里插入图片描述

注意:一定要关闭mariadb之前的所有进程不然服务无法启动或密码修改不成功。

启动mariadb服务
测试新密码

kill -9 mysql 的所有进程
systemctl start mariadb

在这里插入图片描述

八. 用户授权

CREATE USER xue@localhost identified by ‘westos’; 只能用localhost登陆
CREATE USER xue@% identified by ‘westos’; 可以通过网络或localhost 登陆
GRANT INSERT,SELECT ON xuepang.* TO xue@localhost; 给用户读和写的权限
SHOW GRANTS for xue@localhost; 查看用户权限
REVOKE SELECT ON xuepang.* FROM lee@localhost; 删除用户的查看权限
DROP user xue@localhost; 删除用户

CREATE USER xue@localhost identified by ‘westos’;

创建xue这个用户,只能用localhost登录

在这里插入图片描述

CREATE USER xue@% identified by ‘westos’;

注意:可以通过网络登录客户端,访问mysql。

GRANT INSERT,SELECT ON xuepang.* TO xue@localhost;

给用户xue读和写的权限

在这里插入图片描述

REVOKE SELECT ON xue.* FROM xue@localhost;     删除用户的部分权限

在这里插入图片描述

SHOW GRANTS for xue@localhost;      查看用户的所有权限

在这里插入图片描述

DROP user xue@localhost;        删除用户

在这里插入图片描述

九. 数据库的备份与恢复

9.1 数据库的备份

注意:设置备份的时候要退出mysql

mysqldump -uroot -pwestos --all-database

备份root用户的所有数据

在这里插入图片描述

mysqldump -uroot -p123 --all-database --no-data

备份root用户的所有数据,(–no-date)不保存数据,只保存数据表。

在这里插入图片描述

mysqldump -uroot -pxuehaha xue     备份root用户下的xue数据库

在这里插入图片描述

mysqldump -uroot -pxuehaha xue > /mnt/xue.sql

备份root用户中xue数据库中的所有数据到/mnt/xue.sql中

在这里插入图片描述

9.2 数据库的恢复

第一种方式:

mysql -uroot -p123 -e "create database xue;"
先建立xue数据库

mysql -uroot -p123 xue < /mnt/xue.sql
将备份好的数据导入到xue数据库中

在这里插入图片描述

第二种方式:

编辑备份好的数据库

vim /mnt/xue.sql

在这里插入图片描述

写入:

CREATE DATABASE xue;
USE xue;

注意:创建和切换数据库都要写在最前面,写在中间或后面将无法生效。
写完每一句话之后都要加上 ;符号。

在这里插入图片描述

检测是否成功:

在这里插入图片描述

十. phpmyadmin 的安装(数据库的管理工具)

可以通过下方链接下载phpmyadmin也可以通过官网下载

链接:https://pan.baidu.com/s/1xMHrdDsZHGAhbxhMbqYf7Q
提取码:xue1

安装所需要软件php-mysqlnd和php

安装php-mysqlnd

dnf  install  php-mysqlnd.x86_64

在这里插入图片描述

安装php

dnf  install  php

在这里插入图片描述

可以用php -m查看服务都支持什么

php  -m

在这里插入图片描述

分解下载好的压缩包到/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

在这里插入图片描述

进入目录读取README这个文件

less README

在这里插入图片描述

查看版本是否符合要求

rpm  -qa  |  grep  php
rpm  -qa  |  grep  mariadb

在这里插入图片描述

版本如下:

都符合条件

在这里插入图片描述

在这里插入图片描述

根据文件中的提示进行下一步操作

在这里插入图片描述

less Documentatin.txt

进入之后找到快速安装(如下)

在这里插入图片描述

根据提示复制文件

在这里插入图片描述

设置完成之后重新启动httpd服务

systemctl restart httpd

测试

进入网页输入ip/mysqladmin

显示以下界面代表设置成功

在这里插入图片描述

注意:当未出现以下界面时有可能以下几点错误
1.火墙未添加http服务
修改方法:

在这里插入图片描述

也可以直接关闭火墙

2.输入ip不正确

在这里插入图片描述

3.http的端口出现问题

查看http配置文件

在这里插入图片描述

默认为80端口

在这里插入图片描述

如果不是80端口修改为80重启服务即可

十一. 在网页对mysql数据表进行添加和修改

输入用户和密码登录

在这里插入图片描述

当用户名和密码输入正确后进入以下界面

在这里插入图片描述

如何快速新建一张表格

在设置之前先进入数据库中

在这里插入图片描述

设置标的名称,字段

在这里插入图片描述

设置字段,类型和长度

在这里插入图片描述

注意:设置完成点击保存或执行后刷新页面数据表即可出现

对创建好的数据表进行修改

点击插入

在这里插入图片描述

写入你想要插入的数据

在这里插入图片描述

点击执行后,可以看到修改的命令

在这里插入图片描述

当插入的数据需要更改或者其他操作时

可以对数据进行编辑,复制和删除

在这里插入图片描述

点击编辑对zyj用户的密码进行修改

修改好后点击执行即可

在这里插入图片描述

修改密码所执行的命令

在这里插入图片描述

修改成功

在这里插入图片描述

在网页中修改的所有数据在主机中也可查到

在这里插入图片描述

所以在网页上修改时要小心误删除造成损失

Bye

猜你喜欢

转载自blog.csdn.net/X_pang/article/details/108037084