一、初始化mariaDB服务程序:

yum install mariadb mariadb-server           //安装mariaDB

systemctl start mariadb                      //启动mariadb

systemctl enable mariadb                     //添加到开机启动项中

初始化数据库服务程序:

[root@mysql-server ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):当前数据库密码为空,直接回车

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] y           设置root用户的数据库密码

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y            删除匿名账号

... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y         禁止root用户从远程登陆

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y      删除test库,并取消对其的访问权限

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y           刷新授权表,让初始化后的设定立即生效

... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

设置防火墙对数据库服务的允许策略:

[root@mysql-server ~]# firewall-cmd --permanent --add-service=mysql

success

[root@mysql-server ~]# firewall-cmd --reload

success

使用root用户登陆到数据库中:

[root@mysql-server ~]# mysql -u root -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

MariaDB [(none)]> set password = password('123456');                 //修改当前用户的数据库密码

二、管理数据库与表单数据:

1、创建一个新的数据库用户::CREATE USER 用户名@主机名 IDENTIFIED BY '密码';

MariaDB [(none)]> create user cw@localhost IDENTIFIED BY '123456';

MariaDB [mysql]> show databases;                               //查看数据库

MariaDB [(none)]> use mysql;              //进入到mysql数据库

MariaDB [mysql]> select host,user,password from user where user='cw';

//查看新创建的用户名、主机、姓名与密码信息

2、修改新建用户权限:(默认权限只能访问)

数据库GRANT命令的授权操作常用方案:

命令

作用

GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名

对某个特定数据库中的特定表单给予授权。

GRANT 权限 ON 数据库.* TO 用户名@主机名

对某个特定数据库中的所有表单给予授权。

GRANT 权限 ON *.* TO 用户名@主机名

对所有数据库及所有表单给予授权。

GRANT 权限 1,权限 2 ON 数据库.* TO 用户名@主机名

对某个数据库中的所有表单给予多个授权。

GRANT ALL PRIVILEGES ON *.* TO 用户名@主机名

对所有数据库及所有表单给予全部授权

举例:

MariaDB [(none)]> GRANT SELECT,UPDATE,DELETE,INSERT on mysql.user to cw@localhost;

//给予cw用户对mysql数据库的user表单查询、更新、删除、插入权限;

MariaDB [(none)]> show grants for cw@localhost;

//查看cw用户当前的授权

MariaDB [(none)]> revoke SELECT,UPDATE,DELETE,INSERT on mysql.user from cw@localhost;

//移除cw用户对musql数据库的user表单查询、更新、删除、插入权限

3、创建数据库与表单

常用的数据库表单管理命令:

用法

作用

CREATE database 数据库名称;

创建新的数据库

DESCRIBE 表单名称;

描述表单

UPDATE 表单名称 SET attribute=新值  WHERE  attribute>原始值;

更新表单中的数据

USE 数据库名称;

指定使用的数据库

SHOW databases;

显示当前已有的数据库

SHOW tables;

显示当前数据库中的表单

SELECT * FROM 表单名称;

从表单中选中某个记录值。

DELETE FROM 表单名 WHERE attribute=值;

从表单中删除某个记录值

MariaDB [mysql]> create database linuxprobe;

MariaDB [mysql]> use linuxprobe;

MariaDB [linuxprobe]> create table mybook(name char(15),price int,pages int);

MariaDB [linuxprobe]> describe mybook;          //查看mybook表头信息

+-------+----------+------+-----+---------+-------+

| Field | Type     | Null | Key | Default | Extra |

+-------+----------+------+-----+---------+-------+

| name  | char(15) | YES  |     | NULL    |       |

| price | int(11)  | YES  |     | NULL    |       |

| pages | int(11)  | YES  |     | NULL    |       |

+-------+----------+------+-----+---------+-------+

3 rows in set (0.00 sec)

4、管理表单数据:
向表单中插入新的书籍数据:

MariaDB [linuxprobe]> INSERT INTO
mybook(name,price,pages) VALUES('linuxprobe','60',518);

MariaDB [linuxprobe]> select *
from mybook;               //查看表中数据

+------------+-------+-------+

| name       | price | pages |

+------------+-------+-------+

| linuxprobe |    60 |  
518 |

+------------+-------+-------+

1 row in set (0.01 sec)

MariaDB [linuxprobe]> update mybook
set price=55;           //将价格修改为55元;

MariaDB [linuxprobe]> delete from
mybook;                  //删除书籍表单中的内容;

5、where命令用于数据库匹配查询:

参数

作用

=

相等

<>或!=

不相等

>

大于

<

小于

>=

大于或等于

<=

小于或等于

BETWEEN

在某个范围内

LIKE

搜索一个例子

IN

在列中搜索多个值

MariaDB [linuxprobe]> select *
from mybook;

+-------------+-------+-------+

| name        | price | pages |

+-------------+-------+-------+

| linuxprobe1 |    55 |  
518 |

| linuxprobe2 |    60 |  
518 |

| linuxprobe3 |    70 |  
518 |

| linuxprobe4 |    75 |  
518 |

| linuxprobe5 |    80 |  
518 |

+-------------+-------+-------+

5 rows in set (0.00 sec)

查看价格大于75的书籍:

MariaDB [linuxprobe]> select *
from mybook where price>75;

搜索价格不等于80的书籍:

MariaDB [linuxprobe]> select *
from mybook where price<>80;

MariaDB [linuxprobe]> select *
from mybook where price!=80;

6、数据库备份与恢复:

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

参数

作用

-u

数据库的用户名称

-p

密码提示符

--no-data

至备份数据库的描述结构,而不要数据

--local-all-tables

备份完成后将不再允许修改数据

将书籍数据库文件导出到家目录:

[root@mysql-server ~]# mysqldump
-uroot -p123456 linuxprobe > /root/linuxprobeDB_bak.sql

删除书籍数据库:

MariaDB [(none)]> drop database
linuxprobe;

创建一个空的数据库:

MariaDB [(none)]> create database
linuxprobe_bak;

导入刚刚备份的数据库至linuxprobe_bak库中:

[root@mysql-server ~]# mysql -uroot
-p123456 linuxprobe_bak < /root/linuxprobeDB_bak.sql

MariaDB数据库服务的更多相关文章

  1. fedora中使用 mariadb数据库建库和建表-- mariadb数据库服务无法启动?

    /proc(进程, 过程等含义) 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间(内核)和用户空间(用户)之间进行通信.在 /proc 文件系统中,我们可以将对虚拟文 ...

  2. 解决mariadb数据库服务无法开启

    我的系统Manjaro linux,安装的数据库为mariadb 10.1 1.安装数据库 pacman -S mariadb 2.配置数据库启动环境: mysql_install_db --user ...

  3. 【Ubuntu16】apt-get安装MariaDB

    一.Mysql背景信息 Mysql在互联网早期就流行了,追求速度.简单.坚持开源.几乎支持所有操作系统.完全支持多用户.多线程,支持海量数据存储,采用MyISAM.InnoDB两大存储引擎优势互补.但 ...

  4. mysql和mariadb备份工具xtrabackup和mariabackup(mariadb上版本必须用这个)

    简介 xtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server ...

  5. Linux-基础学习(五)-mariadb主从复制以及redis学习

    开始今日份整理 1.mariadb的主从复制 主从复制大致图示: 1.1 mysql基本命令复习 linux下的操作 .启动mysql systemctl start mariadb .linux客户 ...

  6. mysql/mariadb主从复制

    主从复制简介 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向.链式级联, ...

  7. Mariadb主从复制

    前戏: mysql的基本命令复习 .启动mysql systemctl start mariadb .linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 .远程链接my ...

  8. CentOS 7 源码编译MariaDB

    下载源码包 安装 SCL  devtoolset-7 SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包.SCL为社区的以 ...

  9. 【Ubuntu 16.04.3 LTS】apt-get 安装MariaDB

    一.Mysql背景信息 Mysql在互联网早期就流行了,追求速度.简单.坚持开源.几乎支持所有操作系统.完全支持多用户.多线程,支持海量数据存储,采用MyISAM.InnoDB两大存储引擎优势互补.但 ...

随机推荐

  1. python 整形方法

    1. int() a = ' print(type(a), a) b = int(a) print(type(b), b) # 输出 <class 'str'> 123 <class ...

  2. HTTP 状态码 301 302

    301 Moved Permanently被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为 ...

  3. mobile easyui兼容实体数据(tree插件为例)

    ORM的实体类和数据库的类是一一对应的,如果有多级的嵌套循环json返回到前台为了方便展示可以使用mobile easyui,但是mobile easyui又需要特定的属性才可以,比如id,text, ...

  4. Spring3+Struts2+Hibernate4+Mybatis整合的一个maven例子

    说明: 1.用了maven去搞这个demo,懒得去导jar包... 2.这个demo用了spring去做Ioc,事务的aop:用了struts2去做“MVC”(没有用到任何UI技术,有点对不起这个MV ...

  5. python nmap模块 端口探测

    今天添加端口探测功能,主要实现方式是通过nmap模块调用,扫描1-65535端口.上一篇中已经将UP的PC机全部获取到,这里直接从已知在线的PC中进行端口扫描就可以了,会节省很多时间. 代码如下,还是 ...

  6. AES地址栏传参加密

    在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...

  7. 【luogu P1314 聪明的质监员】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1314 二分答案 但是计算区间贡献的时候 直接暴力会挂 前缀和加速 #include <cstdio&g ...

  8. 最短路问题:迪杰斯特拉算法(Dijsktra)

    Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Di ...

  9. 【题解】UVA756 Biorhythms (中国剩余定理)

    UVA756:https://www.luogu.org/problemnew/show/UVA756 思路 几乎是裸的中国剩余定理模板题 但是需要注意的是此题并不是求最小正整数解 而是求大于d的解 ...

  10. HDU1069 Monkey and Banana

    HDU1069 Monkey and Banana 题目大意 给定 n 种盒子, 每种盒子无限多个, 需要叠起来, 在上面的盒子的长和宽必须严格小于下面盒子的长和宽, 求最高的高度. 思路 对于每个方 ...