Linux中mysql数据库的管理、实操

本文详细介绍了数据库的基础知识,重点讲解了MariaDB的安装步骤、安全初始化配置,包括关闭数据库端口、执行安全脚本,以及数据库的基本管理,如查看、新建、更改和删除表。此外,还涵盖了数据密码管理、用户授权方法和数据库备份与恢复策略。最后,文章提到了phpMyAdmin这个流行的MySQL管理工具的介绍和安装过程。
摘要由CSDN通过智能技术生成


一、数据库的介绍

**1.什么是数据库**
数据库就是个高级的表格软件
**2.常见数据库**
Mysql  Oracle   mongodb   db2   sqlite   sqlserver .......
3.Mysql (SUN -----> Oracle)
4.mariadb
**##数据库中的常用名词##**
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看

二、mariadb的安装

dnf install mariadb-server.x86_64 -y
在这里插入图片描述

三、软件基本信息

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

在这里插入图片描述

四、数据库开启

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

五、数据库的安全初始化

1.关闭数据库开放端口

netstat -antlupe | grep mysql               ##未设置是端口为3306

vim /etc/my.cnf.d/mariadb-server.cnf        ##配置文件
[mysqld]                                    ##处添加
skip-networking=1                           ##数据库网络中不裸露

systemctl restart mariadb
netstat -antlupe | grep mysql               #此命令查询不到端口,企业中一般查询到的3306端口是关闭的

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

2.执行安全初始化脚本

mysql_secure_installation                     ##数据库安全初始化脚本
[root@Mariadb ~]# mysql                       ##默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@Mariadb ~]# mysql -uroot -p             ## -u 指定登陆用户 -p 密码

以下是mysql的安全初始化过程,会设置到密码,是否允许匿名用户登录,是否允许超级用户远程登录,等等,我们将这些初始化设置之后就可以登录使用

[root@westos_student50 Desktop]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]    
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] 
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] 
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@westos_student50 Desktop]# 

在这里插入图片描述

在这里插入图片描述

六、数据库的基本管理

**1.查看**
SHOW DATABASES;       ##显示库名称
USE mysql;            ##进入mysql库
SHOW TABLES;         ##显示库中的所有表
SELECT * FROM user;   ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段(user为相对路径,绝对路径为mysql.user)
SELECT Host FROM mysql.user WHERE User='root'

**2.新建**
CREATE DATABASE westos;            ##新建库
CREATE TABLE linux (               ##新建表
username varchar(6) not null,
password varchar(30) not null
);
DESC linux;                        ##显示表结构
INSERT INTO linux VALUES ('user1','123');  #插入数据;插入两条数据('user1','123'),('user2','123');
FLUSH PRIVILEGES;                  #新建后需刷新数据库

**3.更改**
ALTER TABLE redhat RENAME linux;   ##更改表名称
ALTER TABLE linux ADD age varchar(4) AFTER password;  ##加字段(在password后加)
ALTER TABLE linux DROP age;        ##删除字段
UPDATE linux SET sex='g' WHERE username='user2';

**4.删除**
DELETE from linux where username='user2' and age='18';
DROP TABLE linux;
DROP DATABASE westos;

1.查看

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

2.新建

所有建立完首先刷新数据库,让数据库读取我们对它的更改:FLUSH PRIVILEGES;
在这里插入图片描述
在这里插入图片描述

3.更改

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

4.删除

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

七、数据密码管理

1.数据密码更改

mysqladmin -uroot -plee password westos

2.数据库密码破解

systemctl stop mariadb
mysqld_safe --skip-grant-tables &

UPDATE mysql.user set Password=password('lee') WHERE User='root';  **##当未使用过mysladmin更改过密码**
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; **##当使用过mysladmin更改过密码**
flush privileges;

ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb

因为之前使用过mysqladmin更改过密码,所以需要使用以下这种密码破解方式,建议如果需要破解都使用这种方式来进行破解,因为我们也不能确定用户是否更改过密码,使用这种方式可以解决两种情况;

MariaDB [(none)]>  UPDATE mysql.user set authentication_string=password('westos') WHERE User='root';
Query OK, 3 rows affected (0.001 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> exit
Bye

八、用户授权

CREATE USER lee@localhost identified by 'lee'; ##只能用localhost登陆
CREATE USER lee@'%' identified by '%';           ##开启3306端口情况下,可以通过网络或localhost登陆
GRANT INSERT,SELECT ON westos.* TO lee@localhost;    ##授权查看SELECT;授权插入INSERT;
SHOW GRANTS for lee@localhost;                 ##查看lee用户登录中各库的权限
REVOKE SELECT ON westos.* FROM lee@localhost;  ##从lee用户卸掉westos库中所有查看的权限
DROP user lee@localhost;                       ## 删除用户

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

九、数据库的备份

mysqldump -uroot -p123 --all-database              ##所有的数据
mysqldump -uroot -p123 --all-database --no-data    ##仅框架

mysqldump -uroot -p123 westos                      ##westos库内数据
mysqldump -uroot -p123 westos > /mnt/westos.sql

**删除westos库后的两种恢复方法**
test1:
mysql -uroot -p123 -e "create database westos;"   ##重新创建库
mysql -uroot -p123 westos < /mnt/westos.sql       ##导入备份数据

test2:
vim /mnt/westos.sql                               ##编辑配置文件
         CREATE DATABASE westos;
          USE westos;
mysql -uroot -p123 < /mnt/westos.sql              ##导入备份数据

在这里插入图片描述
删除westos库后的两种恢复方法
在这里插入图片描述
在这里插入图片描述

十、phpmyadmin介绍及安装

一、phpMyadmin是什么?

phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,是免费的Web应用程序;为使用MySQL数据库管理系统提供了方便的GUI,让管理者可用Web接口管理MySQL数据库 。

phpMyAdmin具有开发基于MySQL的应用程序或网站时可能需要的所有共同功能。它是全球数百万用户使用的最受欢迎的MySQL管理工具,并赢得了无数奖项和荣誉。

二、phpMyadmin有什么用途?

phpMyAdmin 是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。
有了phpMyAdmin 就可以完全不使用mysql命令,直接使用phpMyAdmin就能管理mysql的所有数据和数据库。

要使用phpMyAdmin,下载后,把它释放到web服务器的根目录下,取个名字,比如就叫phpMyAdmin,然后在浏览器的地址栏输入:
http://X.X.X.X/phpMyAdmin/index.php
就可以了。

三、phpMyAdmin功能概述

可以使用PHPMyAdmin用于Windows或其他几乎任何的操作系统。它可以导出和导入由MySQL DBMS创建和管理的数据库,以及使用其他一些的数据格式。
支持的格式列表包括SQL,CVS,CodeGen,Microsoft Excel的CVS,Microsoft Word 2000,JSON,LaTeX,MediaWiki表,OpenDocument电子表格,OpenDocument文本,PDF,PHP数组,Texy!文本和YAML数据类型。

使用phpMyAdmin,可以实现:

1、创建和删除用户,管理用户权限
2、创建,更改和删除数据库,表,字段和行
3、搜索整个数据库或任何特定表中的对象
4、以不同格式导入和导出数据,包括SQL,XML和CSV
5、监控流程并跟踪不同查询的性能
6、执行自定义SQL查询
7、以手动模式备份MySQL数据库

安装步骤:
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld 
cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
cd /var/www/html/
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz         ##解压文件
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin         ##重命名文件
cd mysqladmin
cp config.sample.inc.php config.inc.php
firefox http://192.168.0.12/mysqladmin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
firefox http://192.168.0.12/mysqladmin
在这里插入图片描述


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值