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篇的更多相关文章

  1. linux初学者-squid代理篇

     linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...

  2. linux初学者-系统启动故障篇

    linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...

  3. linux初学者-网络桥接篇

    linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...

  4. linux初学者-DDNS配置篇

    linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...

  5. linux初学者-DNS配置篇

    linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...

  6. linux初学者-磁盘加密篇

    linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...

  7. linux初学者-磁盘配额篇

    linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...

  8. linux初学者-swap分区篇

    linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...

  9. linux初学者-虚拟机联网篇

    linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...

随机推荐

  1. dpkg:处理 xxx (--configure)时出错解决方案

    出现问题如下: 正在设置 nfs-common (1:1.2.2-4ubuntu5) ... dpkg:处理 nfs-common (--configure)时出错:  子进程 已安装 post-in ...

  2. LFS Linux From Scratch 笔记(经验非教程)

    做了一个自己的DIY Linux系统.从编译每一行代码,建立每一个文件系统结构开始. 创造自己的GNU/Linux系统,不同于任何发行版.按照的教程是来自 linuxfromscratch.org 来 ...

  3. mac下 编译php的 openssl

    编译openssl.so tar zxvf php-7.2.8.tar.gz# 进入PHP的openssl扩展模块目录cd php-7.2.8/ext/openssl/brew install ope ...

  4. URL收集

    window下 php5.5 安装pthread扩展:http://blog.csdn.net/aoyoo111/article/details/19020161

  5. 如何把设计稿中px值转化为想要的rem值

    首先我们需要的是把尺寸转化为rem值 假如 设计稿中的是 200px*200px的图片 移动端的设计图尺寸一般是640*750; 第一步.  把图片分为若干份(好算即可),每一份的大小就是rem的单位 ...

  6. pod update更新error: RPC failed; curl 18 transfer closed with outstanding read data remaining

    1. pod update 的时候出现下边的错误 error: RPC failed; curl 18 transfer closed with outstanding read data remai ...

  7. tomcat 启动窗口 名称 中文乱码

  8. Keep It Simple

    The KISS principle, or Keep It Simple, Stupid, spans many trades, industries, and professions. The m ...

  9. c# override用法

    要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. 在此例中,类 Square 必须提供 Area 的重写实现,因为 Area 是从抽象的 Shapes ...

  10. 研究Electron主进程、渲染进程、webview之间的通讯

    背景 由于某个Electron应用,需要主进程.渲染进程.webview之间能够互相通讯. 不过因为Electron仅提供了主进程与渲染进程的通讯,没有渲染进程之间或渲染进程与webview之间通讯的 ...