Linux安装并使用MariaDB数据库

简介

  • MariaDB是MySQL的分支产品,而且几乎完全兼容MySQL。
  • MariaDB与MySQL具有高度的兼容性,具有库二进制奇偶校验的直接替换功能,与Mysql API和命令均保持一致。
  • MariaDB还自带了一个新的存储引擎Aria,用来替代MyISAM,与MySQL一样好用。

安装MariaDB

#安装软件
yum install -y mariadb mariadb-server

#启动服务并开机自启
systemctl start mariadb
systemctl enable mariadb

在这里插入图片描述

初始化服务

为了确保数据库的安全性和正常运转,需先使用mysql_secure_installation对数据库程序进行以下初始化操作:

  • 设置root管理员在数据库中的密码值;(注意:该密码并非root管理员在系统中的密码,这里的密码值默认应该为空,可直接按回车键)
  • 设置root管理员在数据库中的专有密码;
  • 删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性;
  • 删除默认的测试数据库,取消测试数据库的一系列访问权限;
  • 刷新授权列表,让初始化的设定立即生效。

下面的输出信息旁边进行了简单注释方便理解:
在这里插入图片描述
站库分离的技术:生产环境中常使用,即网站和数据库不在同一个服务器上。

root管理员从远程访问:

可在上面的初始化操作中设置策略,然后设置防火墙,使其放行对数据库服务程序的访问请求,数据库服务程序默认占用3306端口,在防火墙策略中服务名称统一叫作mysql。如下:

firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload

在这里插入图片描述

管理用户及授权

MariaDB数据库管理系统中为可以创建多个专用的数据库管理账户,然后再分配合理的权限,以满足需要者的工作需求。
可使用mysql -u root -p登录MariaDB数据库,密码是刚刚设置的管理员密码。

创建用户格式:CREATE USER 用户名@主机名 IDENTIFIED BY '密码';

#修改密码
set passwd = PASSWORD('chenshiyi')

#创建用户
create user csy@chenshiyi identified by "123";

#删除用户
drop user csy@chenshiyi;

#查询用户信息
select host,user,password from user where user="csy"

grant命令用于为账户进行授权,其常见格式如下表:

命令 作用
GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名 对某个特定数据库中的特定表单给予授权
GRANT 权限 ON 数据库.* TO 用户名@主机名 对某个特定数据库中的所有表单给予授权
GRANT 权限 ON . TO 用户名@主机名 对所有数据库及所有表单给予授权
GRANT 权限1,权限2 ON 数据库.* TO 用户名@主机名 对某个数据库中的所有表单给予多个授权
GRANT ALL PRIVILEGES ON . TO 用户名@主机名 对所有数据库及所有表单给予全部授权(需谨慎操作)

revoke移除授权,命令格式与grant授权命令类似

eg:

#为csy用户授权
grant select,update,delete,insert on mysql.user to csy@chen;
#查询用户权限
show grants for csy@chenshiyi;
#移除权限
revoke select,update,delete,insert on mysql.user from csy@chenshiyi;

创建数据库与表单

一个数据库可以存放多个数据表,数据表单是数据库中最重要最核心的内容。

用于创建数据库的命令以及作用:

命令用法 作用
CREATE database 数据库名称; 创建新的数据库
DESCRIBE 表单名称; 描述表单
UPDATE 表单名称 SET attribute=新值 WHERE attribute > 原始值; 更新表单中的数据
USE 数据库名称; 指定使用的数据库
SHOW databases; 显示当前已有的数据库
SHOW tables; 显示当前数据库中的表单
SELECT * FROM 表单名称; 从表单中选中某个记录值
DELETE FROM 表单名 WHERE attribute=值; 从表单中删除某个记录值

eg:
新建的test数据库并创建表单mybook,然后进行表单的初始化,即定义存储数据内容的结构。

create database test;
use test;
create table mybook(name char(15),price int,pages int);

在这里插入图片描述

管理表单及数据

where命令中使用的参数以及作用:

参数 作用
= 相等
<>或!= 不相等
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN 在某个范围内
LIKE 搜索一个例子
IN 在列中搜索多个值

注:进行数据表的增删改查等操作时,首先要进入数据库中才行

增:INSERT [IGNORE][INTO] 表名 [(列名,...)] VALUES ({表达式 | DEFAULT},...),(...),...| SET 列名={表达式 | DEFAULT},...
eg:

#插入三条数据
use test;
insert into mybook(name,price,pages) values("Linux","60","158");
insert into mybook(name,price,pages) values("Mysql","25","150");
insert into mybook(name,price,pages) values("Python","30","120");

在这里插入图片描述

删:格式:DELETE [IGNORE] FROM 表名 [WHERE 条件]
eg:

#根据条件删除和删除整个表
use test;
delete from mybook where name='Linux';
delete from mybook;

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

改:UPDATE [IGNORE] 表名 SET 列名1=表达式1[,列名2=表达式2...] [WHERE 条件]
eg:

#修改数据
use test;
update mybook set pages=180;
update mybook set price=45 where name='Python';

在这里插入图片描述

查:SELECT 输出列表达式 [FROM 表名1[, 表名2]...] [WHERE 条件]

eg:

#查询数据
use test;
select * from mybook;
select * from mybook where name='Python';

在这里插入图片描述

数据库的备份和恢复

mysqldump命令用于备份数据库数据,格式为“mysqldump [参数] [数据库名称]”

参数 作用
-u 用于定义登录数据库的账户名称
-p 代表密码提示符

eg:

#将test数据库下的内容导出成一个文件,并保存到root家目录下
mysqldump -u root -p test > /root/testDB.dump

#进入MariaDB数据库管理系统中,彻底删除test数据库并重新建立test数据库
drop database test;
create database test;

#将备份的数据库文件导入MariaDB数据库系统中,并验证
mysql -u root -p test < /root/testDB.dump
desc mybook;

导出数据库文件
创建新的库
导入数据库文件

Guess you like

Origin blog.csdn.net/weixin_46329906/article/details/116989213