Mariadb的基本管理

Mariadb
michael widenius
Mysql 的一个分支
完全兼容mysql 包括API和名命令行
SUN----Oracle mysql | Oracle

搭建环境
vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改虚拟机的ip地址(不与其它机器ip重复即可)
systemctl restart network 重启网络,让配置生效
yum repolist 确保yum源可用
在这里插入图片描述

若yum源不可用,则如下图所示,编辑yum源文件的配置,确保自己的yum源可用。(详情请查看linux软件管理该篇博客)
在这里插入图片描述
安装
1.安装
yum install mariadb-server -y
systemctl start mariadb

在这里插入图片描述
2安全初始化
*)默认情况下,数据库的网络接口是打开的
为了安全需要关闭此接口
在这里插入图片描述
vim /etc/my.cnf 关闭网络接口
skip-networking=1 在打开的文件/etc/my.cnf中加入该命令关闭打开的接口

在这里插入图片描述

再次查看端口,没有端口显示
在这里插入图片描述
数据库安全初始化
mysql_secure_installation 对数据库进行安全初始化
在这里插入图片描述

设置密码
在这里插入图片描述

删除已有用户
在这里插入图片描述

不允许远程登陆
在这里插入图片描述

删除测试数据
在这里插入图片描述

重新加载数据库
在这里插入图片描述
重新启动服务
在这里插入图片描述

本地登陆
mysql -uroot -pwestos 明文输入密码(非常不安全)
在这里插入图片描述

mysql -uroot -p 键盘输入密码不显示(推荐使用该登陆方式,比较安全)
在这里插入图片描述

数据库的信息查询及其数据更改
查询
SHOW DATABASES;
USE DATABASES;查看数据库
SHOW TABLES;查看数据库中的表
USE DATABASENAME 使用数据库
SELECT * FROM TABLE 查看某个表的所有信息
SELECT Host FROM user WHERE User=’root’;查询当前表的Host字段(Host列)且User为root(行号为root)的信息。
查看数据库
SHOW DATABASES; 查看所有数据库
在这里插入图片描述

查看某个数据库的信息
USE mysql;查看mysql数据库的信息

在这里插入图片描述

查看当前数据库中所有表
SHOW TABLES;
在这里插入图片描述
在这里插入图片描述

查看该表中User的所有信息
SELECT * FROM User;
数据库中的信息是以表的形式存放的,但因为表头太长,所以才显示的不规范,我们来单独的查看年其中的某个字段的信息(某列的信息)会清楚的看到其存储形式。
在这里插入图片描述
在这里插入图片描述
查看User表中Host的信息
SELECT Host FROM user
可以看到Host的信息以列的形式存放,非常整齐。
在这里插入图片描述

查看user表中的Host,User信息。
在这里插入图片描述

查看user表中的Host,User,Password信息。
SELECT Host,User,Password from User;

在这里插入图片描述
查看user表中行的Host为172.0.0.1的Host,User,Password信息。
Host中并没有172.0.0.1的信息,所以什么信息都不显示
在这里插入图片描述

查看user表中行的Host为127.0.0.1的Host,User,Password信息。
User表Hos一列中只有一列的信息为172.0.0.1,所以只显示了这一行的Host,User,Password的值。
在这里插入图片描述
数据库的建立

CREATE DATABASE westos; 建立库westos
在这里插入图片描述

USE westos;进入库
在这里插入图片描述

CREATE TABLE userlist ( 建立表userlist
->username varchar(50) not full,
->password varchar(100)not full
->);
在这里插入图片描述

DESC userlist;查看表结构
在这里插入图片描述

SELECT * FROM userlist; 查看表userlist中的所有信息
未添加信息前可以看到表中什么信息都没有(因为是新建立的表,我们也没有添加信息,所以没有信息显示)
在这里插入图片描述
INSERT INTO userlist VALUES(‘cui’,‘321’);添加表的信息第一栏为cui,第二栏为321.
SELECT * FROM userlist; 查看表userlist中的所有信息
添加信息后可以看到第一栏变为了‘cui’,第二栏变为了‘321’.
在这里插入图片描述

同理添加信息‘zhang’,‘123’至表中后查看表的信息。

在这里插入图片描述
修改
UPDATE userlinux SET username=’cheng’ where username=’cui’修改username为cui一栏的username为cheng
修改前
在这里插入图片描述

修改后
在这里插入图片描述

添加年龄至表结构中
ALTER TABLE userlist ADD age varchar(5);
添加前
在这里插入图片描述
添加后;
在这里插入图片描述

修改年龄
UPDATE uerlist SET age=‘12’ where username=‘cheng’; 修改usernmae为cheng的年龄为15
UPDATE uerlist SET age=‘15’ where username=‘zhang’;修改username为zhang的年龄为15
修改前
在这里插入图片描述

修改后
在这里插入图片描述

表的结构

若直接添加age会自动添加至下一行,若我们想让其添加至其它行该如何做呢
ALTER TABLE userlist ADD age varchar(5) AFTER username; 添加age至usernmae后一行
在这里插入图片描述
在这里插入图片描述

删除
DELETE FROM userlist WHERE username=’cheng’删除表中名字为cheng的一栏
删除前
在这里插入图片描述

删除后
在这里插入图片描述
DELETE FROM userlist WHERE username=(‘zhang1’|‘zhang’); 删除表中username为zhang1和zhang的信息后,表中的所有信息都不存在了。即表为空(empty)
可以看到都被删除
在这里插入图片描述

DELETE FROM userlist WHERE usernmae=’cheng’ AND age=’12’;删除表中名字为cheng年龄为12的信息。
删除前
在这里插入图片描述

删除后
在这里插入图片描述

DROP TABLE userlist; 丢弃表
删除表后可以看到westos的库内为空(只有userlist这一个表)
在这里插入图片描述
DROP DATABASE westos;丢弃库
丢弃库前
在这里插入图片描述

丢弃库后
在这里插入图片描述

数据库的备份
数据库中的信息以文件方式存放在/var/lib/mysql中
在这里插入图片描述
可以看到我们新建的数据库westos
Mysqldump -uroot -pwestos westos > /mnt/westos.sql 备份库westos至/mnt/westos.sql
Mysqldump -uroot -pwestos westos --no-data > /mnt/westos.sql不备份数据(只备份库表的结构)
Mysqldump -uroot -pwestos --all-databse >/mnt/westos.sql 备份所有库到/mnt/westos.sql
Mysqldump -uroot -pwestos --all-database --no-data> /mnt/westos.sql 备份所有库表结构至/mnt/westos.sql

恢复的方法:
Mysql -uroot -pwestos </mnt/westos.sql
删除后创建的westos为空库,若想要恢复,需要先建立数据库
在这里插入图片描述

利用备份恢复
在这里插入图片描述

恢复后查看表恢复
在这里插入图片描述

用户授权
先打开数据库的网络端口,使其能够接受数据
打开/etc/my.cnf文件,注释skip-networking=1即可
在这里插入图片描述

CREATE USER westos@‘%’ identified by ‘westos’; 添加用户westos@% ,登陆密码为westos
CREATE USER westos1@‘localhost’ identified by ‘westos’;添加用户
westos1@localhost
添加用户
在这里插入图片描述

SHOW GRANTS FOR westos1@localhost;查看westos1@localhost的权限变化
GRANT INSERT ON westos.* TO westos1@localhost; 给用户
westos1@localhost添加加入的权限。
在这里插入图片描述

可以一次赋予多个权限,但需要用‘,’隔开;
在这里插入图片描述
REVOKE INSERT ON westos.* FROM westos1@localhost; 取消
westos1@localhost用户的添加功能
用户中westos1并没有添加用户的功能,只能查找,更新和删除

在这里插入图片描述

登陆服务端
Yum whatprovides */mysql 利用该命令查找我们需要安装的软件
在这里插入图片描述
找到我们要安装的软件
在这里插入图片描述
安装该软件
在这里插入图片描述

利用远程登陆进入服务机并使用westos1用户登陆(因为westos1只允许在本机(服务机)登陆)
非服务机登陆westos@“%”,%代表所有的机器
在这里插入图片描述

非服务机登陆westos1@‘localhost’无法登录 (只有本机可以登陆)
在这里插入图片描述

westos可以登陆但无法执行命令,无法查询库文件;
在这里插入图片描述

服务器查看该用户权限可以看到其没有任何权限
在这里插入图片描述

服务机登陆westos1@‘localhost’
在这里插入图片描述

进行删除操作。
在这里插入图片描述

无法进行插入的操作(因为我们在服务器回收了westos1的插入功能)
在这里插入图片描述

服务器端查看westos1的权限
可以看到其有查找,更新和删除的权限,但没有插入的权限。
在这里插入图片描述

DROP USER westos1@localhost; 删除用户westos1@localhost

删除前
在这里插入图片描述

删除后
在这里插入图片描述

FLUSH PRIVILEGES;刷新(有时在完成配置后,服务可能会未生效,所以需要刷新,若已经生效,则不需要进行该操作)

数据库密码的更改

知道秘密时
mysqladmin -u root -pwestos password cheng 修改密码westos为cheng
在这里插入图片描述

忘记密码时
systemctl stop mariadb

mysqld_safe --skip-grant-tables &
在这里插入图片描述

USE mysql;
在这里插入图片描述

update mysql.user set Password=‘westos’ where user=‘root’;使用该命令修改密码(注意:该命令修改的密码为明文,很不安全)
在这里插入图片描述

update mysql.user set Password=password(‘westos’) where User=‘root’;(修改密码为加密方式)
在这里插入图片描述

kill -9 mysql的所有进程id
在这里插入图片描述

systemctl restart mariadb
在这里插入图片描述

登录数据库
在这里插入图片描述
图形界面控制数据库
yum install httpd
systemctl start httpd
cd /var/www/html

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

下载安装phpMyAdmin-3.4.0-all-languages(下载的文件在当前目录)
在这里插入图片描述
yum install php php-mysql -y
这里显示的是我们已经安装过了,不需要再次安装
在这里插入图片描述

tar jxf phpMyAdmin-3.4.0-all-languages 解压文件
在这里插入图片描述

mv phpMyAdmin-3.4.0-all-languages mysqladmin 修改名称(为了简化操作,之前的名字太过于冗长)
在这里插入图片描述

cd mysqladmin
cp config.sample.inc.php config.inc.php
vim config.inc.php
在这里插入图片描述
systemctl restart httpd
在这里插入图片描述

测试查看服务器
http://172.25.254.142/mysqladmin
在这里插入图片描述

登陆后即可对数据库进行控制
对数据库westos的userlist表进行控制
首先用命令查看表的信息
在这里插入图片描述

在网页添加cheng与cn两个用户后可以看到网页的数据库已经发生了变化
在这里插入图片描述

用命令查看表userlist的信息
在这里插入图片描述

删除用户‘zhang’
点击zhang的删除出现下图所示界面后点击OK表示确定删除
在这里插入图片描述

删除后userlist 表中只剩下cheng与cn两个信息
在这里插入图片描述

用命令查看数据库可以看到zhang已经被删除
在这里插入图片描述

图形操纵数据库的方式更加简单清晰,而且可以节约大量时间。(图形管理模式中还有命令提示哦,忘记的话记得要看命令提示哦)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值