数据库的管理学习之maiadb

本文介绍了数据库的概念,重点讲解了MariaDB作为MySQL的分支,其安装、安全初始化、数据库管理、更改、删除以及备份恢复的过程。还涉及到了数据库命令格式、用户授权和密码管理。

数据库

数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。它具有整体性、共享性。
简单的讲,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的。

常见的数据库有mysql 、SQL Server、Oracle、Sybase、DB2等,而最受人们欢迎的当然是mysql了,MySQL是目前最受欢迎开源的SQL数据库管理系统,与其他的大型数据库Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但丝毫也没有减少它受欢迎的程度。对于个人或中小型企业来说,MySQL的功能已经够用了, MySQ L又是开源软件,因此没有必要花大精力和大价钱去使用大型付费数据库管理系统。
我们今天学习的Mariadb其实就是Mysql的衍生物

MariaDB数据库

MariaDB数据库管理系统是Mysql的一个分支,主要由开源社区在维护,采用GPL授权许可,MariaDB的目的是完全兼容Mysql,包括API和命令行,是Mysql的替代品。
有趣的是MariaDB的名称来自于Mysql的创始人Michael Widenius的女儿Maria的名字

那么接下来我们所说的数据库就默认为MariaDB了

安装mariadb并安全初始化

1.安装并开启数据库

yum install mariadb-server.x86_64 -y ##注:一定要加server

在这里插入图片描述
在这里插入图片描述
2.安全初始化

1)查询mysql开放端口netstat -antlupe | grep mysql
2)关闭所有端口
	vim /etc/my.cnf
	 	10 skip-networking=1
3)再次查询
4)mysql_secure_installation(mariadb自带的安全出初始化脚本)进行安全设定,设定密码,第二个设定密码后,其他全部回车默认

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.登陆

mysql -uroot -p
或者 mysql-uroot -predhat		##直接输入密码,这里的redhat时我自己设定的密码

在这里插入图片描述

数据库的管理

对象
属性
表头字段

数据库的查询:

SHOW DATABASES;				##列出库
USE xxx;					##进入库
SHOW TABLES;				##列出表
DESC xxx					##查看表结构
SELECT * FROM xxx			##查询所有字段在xxx表中
SELECT xx,zz FROM xxx		##查询xx,zz字段在xxx表中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要注意的是mysql中的命令行都要家“;”
数据库的建立:

CREATE TABLE linux (						##建立表linux
		->username varchar(10) not null,	##字段username,可变长字符,不超过10位,且不能为空
		->password varchar(10) not null 	##字段password,。。。。。。。。。。。。。。。。。
		->);

INSERT INTO linux VALUES ('LJZ','123'); ##向linux表中插入值(数据)。。。

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

数据库的更改

数据库的名称可以直接更改数据库的名称(shell中),但可能出现数据丢失,不建议,若要更改则备份重建数据库
ALTER TABLE linux RENAME redhat;			##更改表的名称
ALTER TABLE linux ADD class varchar(20);	##加入一个class字段,长度为20
ALTER TABLE linux DROP class;				##删除class字段
ALTER TABLE linux ADD class varchar(20) AFTER username;	
											##在字段username后加入字段class ,注意新加入的不能再第一个,第一个是基准
UPDATE linux SET class='01';				##更新class字段的数据,这样不做定位的话就是全部
UPDATE linux SET class='02' WHERE username='PP';	##更改usernaem的PP对象所在的class字段属性

在这里插入图片描述
在这里插入图片描述
在这里我们还将表名换回linux
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库的删除

DROP DATABASE STUDY;				##删除库
DROP TABLE linux;	DROP TABLE STUDY.linux;	##删除表
DELETE FROM linux WHERE username='LJZ';		##删除LJZ对象

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

数据库的备份与恢复

mysqldump -uroot -predhat ljz > /mnt/ljz.sql	##备份库并导入到/mnt下
mysqldump -uroot -predhat ljz --no-data       	##备份ljz库 但不备份数据,只要框架
mysqldump -uroot -predhat --all-database			##备份所有的库
mysqldump -uroot -predhat --all-database --no-data	##备份所有库,但不备份数据

在一开始要建立一个ljz库u,在这里就不做具体操作了
在这里插入图片描述
在这里插入图片描述
恢复:

恢复方式一:建立库,再导入数据
mysql -uroot -predhat -e "CREATE DATABASE ljz;" 	##-e为执行
mysql -uroot -predhat ljz < /mnt/ljz.sql

在一开始先删除库,然后再恢复
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

恢复方式二:自动建立库并进入库
vim /mnt/ljz.sql
	22.CREATE DATABASE ljz;
	23.USE ljz;
mysql -uroot -predhat < /mnt/ljz.sql

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

数据库命令的一些格式

例如:ljz.pp 为ljz库里的pp表
SELECT * FROM ljz.pp
可直接在shell命令行中加入-e执行命令

普通用户与授权

CREATE USER ljz@'localhost' identified by 'redhat';	##创建一个用户并给密码;@localhost设置只能在本机登陆
GRANT SELECT,INSERT ON ljz.* TO ljz@localhost;	##将查看与插入权力给ljz
SHOW GRANTS FOR ljz@localhost;						##查看ljz的权力
REVOKE INSERT ON ljz.* FROM ljz@localhost;		##移除权力
DROP USER ljz@localhost;							##删除用户
SELECT User FROM mysql.user;						##查看mysql的用户

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

mariadb密码管理

已知密码改密码:
在这里插入图片描述
忘记密码改密码:

当忘记root密码后
systemctl stop mariadb					##关闭服务
mysqld_safe --skip-grant-tables &		##将mysql的一个安全脚本打入后台
回车
mysql									##进入mysql
UPDATE mysql.user SET Password=password('redhat') WHERE User='root';
						##修改用户表中的密码,注:password()使密码为乱码
SELECT * FROM mysql.user;				##查询用户表的数据
quit									##退出mysql
ps aux | grep mysql						##查询mysql的进程id
kill -9 所有id							##强行关闭
systemctl start mariadb					##重启服务
登陆

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值