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'"就看不到这个用户的信息了。

最新文章

  1. tyvj1008 传球游戏
  2. EF架构~在T4模版中为所有属性加默认值
  3. jquery获得select option的值 和对select option的操作
  4. php ldap验证
  5. swiftlint升级
  6. 通过SQL进行远程访问
  7. 从零开始学习jQuery (九) jQuery工具函数
  8. C# 文件创建时间,修改时间
  9. 15 Tricks to Appear Smart in Emails(转)
  10. js添加删除元素
  11. Centos6.8部署jumpserver(完整版)
  12. 洛谷.1110.[ZJOI2007]报表统计(Splay Heap)
  13. Java图片验证码乱码问题
  14. Ubuntu下的OpenResty 安装
  15. ADT安装
  16. NSWindow添加NSViewController
  17. 关于安卓苹果手机安装证书抓https的关键步骤
  18. 疯狂JAVA——第五章 面向对象(上)
  19. Linux.net &amp;&amp; mono
  20. SSH Secure Shell Client连接Linux断开

热门文章

  1. 从零开始实现放置游戏(七)——实现挂机战斗(5)RMS系统后台参数校验
  2. 求你了,再问你Java内存模型的时候别再给我讲堆栈方法区了…
  3. 基于maven的项目脚手架,一键创建项目的项目模板
  4. 【IDE】idea在debug模式启动非常慢,debug模式一直在启动中状态
  5. 解决IE8placeholder属性问题
  6. kubernetes实战篇之helm完整示例
  7. Programming In Lua 第四章
  8. guava cache大量的WARN日志的问题分析
  9. mysql双机热备实现方案
  10. 如何使用 Docker 安装 Jenkins