Linux入门之mariadb数据库管理

本文介绍了MariaDB的安装、安全设定,详细讲解了数据库的管理,包括查询、创建、更改、删除及备份操作,还涉及用户管理,如创建、授权、权限回收和删除。最后探讨了使用图形化工具进行数据库管理的方法。

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

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。下面让我们一起来了解mariadb数据库的管理。

一、数据库的安装和初始化设定

1.安装数据库mariadb

yum search mariadb    ##安装数据库
systemctl start mariadb     ##开启数据库

在这里插入图片描述
安装好数据库后,我们使用【systemctl】命令打开数据库,使用【mysql】命令登录数据库,可以发现不需要输入密码可以直接进入数据库,这样是不安全的,我们需要对数据库进行安全设定。
在这里插入图片描述
2.安全设定

mysql_secure_installation    ##安全设定

通过以上命令进入初始化安全设定脚本,我们按照自身的需求进行选择,以下设定可以作为参考。
在这里插入图片描述
在这里插入图片描述
3.关闭网络接口

关闭网络接口,防止非法用户通过该接口控制数据库。

netstat -antlupe | grep mysql   ##查看网络接口是否打开
vim /etc/my.cnf      			##关闭网络接口
skip-networking=1
systemctl restart mariadb     	##重启数据库

在这里插入图片描述
在这里插入图片描述
3.用户登录

mysql -uroot -p  	##数据库的登录

建议大家使用以上命令登录数据库,当然我们也可以使用【mysql -uroot -p密码】登录,这样用户的密码将直接显示到屏幕上,加大了数据库的风险。
在这里插入图片描述
二、数据库的管理

(一)数据库中元素的查询

SHOW DATABASES;		 ##查看数据库
USE DATABASE;  		 ##进入数据库
SHOW TABLES;		 ## 查看表

需要强调的是,我们在输入命令后,一定要加上【;】,该符号标志着该命令已键入完毕,可以执行。
在这里插入图片描述

SELECT * FROM TABLE;    ##查询所有该表的信息

在这里插入图片描述
通常我们查询某一表时,由于表中的字段过多,使显示效果不清晰,我们可以通过表中具体字段信息进行指定查询,过滤信息方便分析。

SELECT Host,User,Password FROM user WHERE Host='127.0.0.1';  ##查询某一主机的某项信息
SELECT Host,User,Password FROM user;

注意:查询某一特定信息时,该字段必须是存在的
在这里插入图片描述
(二)创建数据库

SHOW DATABASES;           ##列出库
CREATE DATABASE westos;   ##建立库

创建数据库时,我们可以直接创建,不用返回到数据库层进行创建。
在这里插入图片描述

USE westos;              			 	 ##进入库
CREATE TABLE userlist (     			 ##建立表
	-> username varchar(50) not null, 	 ##varchar变长字符
	-> password varchar(50) not null
	-> );
DESC userlist;     ##查看表结构,可以查看到每个字段的类型等

在这里插入图片描述
在表中插入用户信息,注意插入的每项信息需要用单引号引起来。

INSERT INTO userlist VALUES ('jiang','123');     ## 插入数据到userlist表中
SELECT * FROM userlist;              	         ##查询所有字段在userlist表中

在这里插入图片描述
(三)数据库的更改

ALTER TABLE userlist ADD age varchar(10);    ##默认添加该字段在最后一个
ALTER TABLE userlist ADD class varchar(20) AFTER username;  ##插到指定位置

在这里插入图片描述

UPDATE userlist SET password=password('jiang') WHERE username='jiang';       ##修改该用户的密码(密码为加密字符)
UPDATE userlist SET password='000' WHERE username='jiang';     ##修改密码(密码为明文)
UPDATE userlist SET age='12';  	    ##将表中所有的年龄都设置为12
UPDATE userlist SET age='18' WHERE username='jiang1';	##将名为jiang1的用户年龄修改成18岁

在这里插入图片描述

ALTER TABLE userlist RENAME redhat;对表重新命名

在这里插入图片描述
注意:由于多个数据库之间会有联系,我们一般不会修改数据库名和表名

(四)数据库的删除

在删除数据库时,我们为了下一个实验的方便,首先对创建好的数据库进行备份,备份好来让我们来看一下数据库的删除。

mysqldump -uroot -pwestos westos > /mnt/westos.sql

在这里插入图片描述

ALTER TABLE userlist DROP age;    ##删除该字段

在这里插入图片描述

DELETE FROM userlist WHERE username=('jiang'|'jiang1');	##删除多个用户
DELETE FROM userlist WHERE username='jiang' AND age='12';		##删除满足条件的用户

在这里插入图片描述

DROP TABLE userlist1;		##删除userlist1表
DROP DATABASE westos;		##删除数据库

在这里插入图片描述
(五)数据库的备份

数据库的备份主要有两类,一类是数据库结构和数据全部备份,另一类则是只备份数据库的结构,在这里我们以备份某一数据库的结构和数据为例,进行学习。

mysqldump -uroot -pwestos westos > /mnt/westos.sql
mysqldump -uroot -pwestos westos --no-data  ##只备份数据库结构,不备份数据
mysqldump -uroot -pwestos --all-database
mysqldump -uroot -pwestos --all-databade --no-data

在这里插入图片描述
1.恢复方式1

mysql -uroot -pwestos -e "CREATE DATABASE westos;"
mysql -uroot -pwestos westos < /mnt/westos.sql

在恢复数据库之前,我们需要创建数据库,然后将备份的数据库导入。没有创建数据库,直接备份系统会报错。
在这里插入图片描述
2.恢复方式2

vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /mnt/westos.sql

在备份的数据库文件中直接写入创建数据库的命令,数据库在恢复时,会自动执行该命令。
在这里插入图片描述
(六)用户密码更改

1.用户密码知道

mysqladmin -uroot -pwestos password lee  

我们知道登录密码,可以通过该命令直接进行更改。
在这里插入图片描述
2.不知道登录密码

systemctl stop mariadb
mysqld_safe --skip-grant-tables &   ##跳过授权表
mysql
UPDATE mysql.user SET Password=password('westos') WHERE User='root';

我们在登录数据库时,数据库的授权表会对我们的身份进行验证,正确则允许登录。忘记数据库的密码,我们需要跳过授权表的认证。
在这里插入图片描述
注意:我们在修改密码的同时,设定直接跳过用户授权表,修改密码后,需要结束该进程,使授权表恢复工作。

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

在这里插入图片描述
三、数据库用户的创建和设定

数据库中除了root用户,也需要其他用户的加入,不同用户对该数据库的操作权限也是不同的,让我们来看一下用户设定和用户授权。

1.准备工作
开启网络接口,使其他主机的用户也可以访问和操作数据库
服务端:

vim /etc/my.cnf
#skip-networking=1 打开网络接口
netstat -antlupe | grep mysql
systemctl restart mariadb
systemctl stop firewalld

在这里插入图片描述
客户端:

yum whatprovides */mysql
yum install mariadb-5.5.35-3.el7.x86_64 -y

在这里插入图片描述
2. 创建用户

CREATE USER westos@'%' identified by 'westos';  ##创建用户(可以远程登录)

在这里插入图片描述

CREATE USER xing@'localhost' identified by 'westos';  ##创建本地用户

在这里插入图片描述
3.用户授权

用户授权以远程登录的用户为例,本地用户与远程用户授权方式一致。
现象:远程用户可以登录数据库,但是不能对数据库进行操作

mysql -uwestos -h172.25.254.131 -p    ##用户登录

在这里插入图片描述
服务端: 对用户进行授权

GRANT SELECT,INSERT on westos.* TO westos1@localhost;  ##赋予该用户查询,插入的权力
SHOW GRANTS FOR westos1@localhost;   ##查看该用户具有的权力

在这里插入图片描述
客户端: 用户权限的使用
在这里插入图片描述
在这里插入图片描述
对用户进行授权,未被授权的操作该用户不能使用。

4.用户权限的收回

REVOKE INSERT ON westos.* FROM westos1@localhost;  ##收回该用户插入权限
FLUSH PRIVILEGES;    ##刷新

在这里插入图片描述
5.用户的删除

DROP USER westos@localhost     ##删除该用户

在这里插入图片描述
四、数据库图形化管理

了解了数据库的管理命令,下面让我们学习一下图形化管理数据库的方式。

下载图形化数据库管理安装包后,执行以下操作

tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2   -----> /var/www/html目录下
mv phpMyAdmin-3.4.0-all-languages mysqladmin重命名
cd mysqladmin可以使用less README命令,查看安装需要满足的条件

在这里插入图片描述

cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';   通过该命令查看填入的内容【less Documentation.txt】

在这里插入图片描述

yum install php php-mysql -y
php -m 查看是否有mysql文件

在这里插入图片描述
在网页中输入【http://172.25.254.131/mysqladmin】可进入图形化管理界面。
在这里插入图片描述
在这里插入图片描述
数据表的建立
在这里插入图片描述
用户信息的插入
在这里插入图片描述
使用图形化数据库工具创建数据库,通过命令查看,我们可以看到创建好的数据库。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值