linux初学者-数据库管理MariaDB篇
MariaDB是一种数据库管理系统,是MySQL的一个分支,但是比MySQL更加优秀,可以说是MySQL的替代品。MariaDB使用的是SQL语句。下文将会对MariaDB的安装,设置,一些基本的SQL语句进行简要的概述。
1、安装
在有yum源的前提下,输入"yum install mariadb-server.x86_64 -y"可以安装MariaDB数据库,不同的系统可能有不同的版本。
2、安全设置
因为MariaDB是一个数据库管理系统,所以安全是必须的,最基本的安全设置有以下两个步骤。
第一个步骤,输入"netstat -antple | grep mysql"查看网络端口是否打开,如下图所示,是打开的。编辑配置文件"/etc/ym.cnf",在下图位置输入"skip-networking=1"来关闭端口,重启服务后再查看,网络端口关闭。
第二个步骤,输入"mysql_secure_installation"来设置root用户的登陆密码,如下图所示,输入两次密码后,系统会询问一些问题,为了安全考虑,建议全部选择"Y"。
上述两个步骤完成后,系统的网络端口关闭,且root用户需要输入密码才能登陆数据库。
3、数据库的使用
前以叙述,MariaDB是数据库的管理系统,且使用的是SQL语句,下面将叙述在数据库的使用中常用的SQL语句,一般规范的SQL语句是需要大写的,但小写也可以使用。在这里为了方便,不作区分。
3.1、数据库的查询
"show datebases;",显示数据库。
"use mysql;",进入一个数据。
"show tables;",显示数据库里的表格。
"desc user;",查看一个表格名为"user"的信息。
"select * from user;",查看这个名为"user"的表格的所有内容。
"select * from user where Host='127.0.0.1';",查看这个名为"user"的表格中"Host"是"127.0.0.1"的部分。
"select Host,Process_priv from user",从"user"表格中查看"Host"和"Process_priv"两个字段。
3.2、数据库中的创建
"create database hello;",创建一个名为hello的数据库。
"create table userinf(*);",进入hello数据库中后,创建一个名为"userinf"的表格,如下图所示,表格的格式和内容可以自己编写。
"insert into userinf values ('tom','111','20');",在这个"userinf"表格中插入值,如下图所示,可以为空的表格中插入值可以不写入值,但必须有格式,例如下图。
3.3、数据库中的修改
目前数据库的名称是无法更改的,只能先对该数据库的数据进行备份,然后重新建立新的数据库,将数据导入进去。
"alter table userinf rename information;",将表格"userinf"的名称改为"information"。
"alter table userinf add class varchar(50);",在表格"userinf"的最后添加一列"class"。
"alter table userinf drop class;",删除表格"userinf"的"class"列。
"alter table userinf add class varchar(50) after username;",在表格"userinf"中的"username"列后添加"class"列。
"update userinf set class='3';",将表格"userinf"中"class"列的数据全部改为"3"。
"pdate userinf set class='1' where username='tom';",将表格"userinf"中"username"是"tom"的行的"class"改为"1"。
3.4、数据库中的删除
"delete from userinf where username='tom' and class='1';",删除"userinf"文件中"username"是"tom"且"class"是"1"的行。
"drop table userinf;",删除表格"userinf"。
"drop database hello;",删除数据库"hello"。
4、数据库的备份与恢复
在数据库的管理过程中,经常需要数据库的备份。
"mysqldump -uroot -predhat WE > /mnt/WE.sql",可以对"WE"的数据库进行备份,将备份文件存在/mnt/WE.sql文件中。
如下图所示,如果不小心删除了数据库"WE",那么就需要通过这个备份来恢复了。
恢复备份时,先输入"mysql -uroot -predhat -e "create database WE;",来新建一个数据库"WE",或者其他名称也可以,也可以使用命令"create database WE;"在数据库内建立。
输入"mysql -uroot -predhat WE < /mnt/WE.sql",就可以将原WE数据库中的数据导入到新的数据库中了。
5、忘记root用户密码
在数据库的管理中,如果忘记了root用户的密码就要对其重新进行设置,设置步骤如下所示:
a、"systemctl stop mariadb"。停止MariaDB。
b、"mysqld_safe --skip-grant-tables &"。启动安全模式,且跳过认证标。
c、"mysqld"。不需要密码可以直接进入数据库,输入"use mysql"进入mysql数据库。
d、"update user set Password=password('redhat') where User='root';"。修改"user"表中"root"用户的密码信息,"Password=password('redhat')"表示密码设为"redhat",前面的"password"表示对"redhat"进行加密。
e、"ps ax | grep mysql","kill -9 PID"。强行结束掉"mysql"的所有进程。
上述步骤完成后重新开启MariaDB,然后就可以输入就改后的密码登陆数据库了。
6、设置用户和访问权限
MariaDB的使用中,有时需要添加一些其他用户,使这些用户可以登陆,并且在数据库中拥有一定的权限。其具体做法如下所示。
"create user we@localhost identified by 'redhat';"。表示创建一个用户,这个用户只可以从本机登陆,登陆密码为"redhat"。如果将其中的"we@localhost"改为"we@'%'",就代表可以从任何地方登陆。
创建成功之后输入"select * from mysql.user where User='we'",就可以看到创建的这个用户信息。
这个用户创建完成后没有进行授权,虽然可以登陆,但是看不到也修改不了数据库中的任何数据。
"grant select on hello.* to we@localhost;",表示将"hello"数据库中的查看权限授权给"we"用户。
"show grants for we@localhost;",可以查看指定用户的授权列表,如下所示,"we"用户有在"hello"数据库中的查看权力。如果授权了但是查看不到,输入"flush privileges;"可以重新加载授权表。
授权过后的"we"用户重新登陆数据库就可以看到"hello"数据库中的数据了。还可以授予"insert"、"update"、"delete"和"drop"等权力,只有授予过的权力可以使用。
"revoke select on hello.* from we@localhost;",表示撤销用户"we"的查看权力。
"drop user we@localhost;",表示删除"we"用户,删除后再次输入"select * from mysql.user where User='we'"就看不到这个用户的信息了。
linux初学者-数据库管理MariaDB篇的更多相关文章
- linux初学者-squid代理篇
linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...
- linux初学者-系统启动故障篇
linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...
- linux初学者-网络桥接篇
linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...
- linux初学者-DDNS配置篇
linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...
- linux初学者-DNS配置篇
linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- linux初学者-swap分区篇
linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...
- linux初学者-虚拟机联网篇
linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...
随机推荐
- 模拟键盘发送文字(使用SendInput API函数)
嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字 参考另一片文章: http://www.cnblogs.com/-clq/archive/2011 ...
- Hadoop集群(第2期)虚拟机网卡的介绍和配置
很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识 虚拟机网络模式 无论是vm ...
- Libra 加密稳定币:Facebook的"野心"?
2008年11月1日,有一个传说叫中本聪的日裔美国人,发表了一篇名为<比特币:一种点对点式的电子现金系统>的论文.2009年,比特币出世,从此开启了电子货币这个收割机器,全世界的韭菜都是一 ...
- vim 列编辑模式
vim 列编辑模式 标签: vim 视窗模式 列编辑模式 vim 列编辑模式 例子:给列批量添加前缀.后缀.修改字段 vim 列编辑模式 vim 有三种编辑模式,命令模式.输入模式.视窗模式,我们常用 ...
- Hive 学习之路(七)—— Hive 常用DML操作
一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...
- (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
原生js实现放烟花效果,点击鼠标,然后随机向四周扩散,! 思路: 1.首先烟花是五颜六色的,所以我们先写一个随机颜色的函数: 2.创建一个制造烟花的构造函数,第一个参数为元素,第二参数为初始x轴位置, ...
- 【Linux杂记】Linux配置静态IP地址,修改主机名、host
博主使用的系统是:乌班图16.04 1.设置静态IP方法如下: #sudo vim /etc/network/interfaces #修改如下部分: auto eth0//ipconfig命令查看网卡 ...
- 【过时】Maven简单安装与集成Eclipse
前言:MyEclipse前期产品对maven支持性不是很好,而且对maven版本要求很严格,集成后有很多问题,所以推荐 使用比较新的IDE进行开发. 1.环境搭建(只是用IDE集成的不需要系统安装,请 ...
- Codeforces Round #568 (Div. 2)B
B. Email from Polycarp 题目链接:http://codeforces.com/contest/1185/problem/B 题目: Methodius received an e ...
- vue-cli的服务代理
vue-cli的默认端口是8080,如果我们的请求如下 我们就可以将地址改成