mariadb 的安装及基本配置

2023-05-16

mariadb 的由来

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。Red Hat Enterprise Linux/CentOS 7.0 发行版已将默认的数据库从 MySQL 切换到 MariaDB。

mariadb-server 与连接器

进入 mariadb 的官网下载链接 https://mariadb.org/download/
在这里插入图片描述
我翻译一下:

  • MariaDB Server 是世界上最流行的开源关系数据库之一,并且在主流 Linux 发行版的标准仓库中都有。可以使用操作系统的包管理器查找 mariadb-server。或者,您也可也使用如下资源
  • MariaDB 基金会为 MariaDB Server 也提供了最流行的连接器,以供下载。

mariadb 的卸载

我这边之前已经手动安装过 mariadb 了。这里为了演示安装,需要用 rpm 命令进行卸载。

rpm 常用参数

  • -a 查询所有文件
  • -e 卸载
  • -i 安装
  • -q 查询
  • -u 升级
  • -h 显示安装进度
  • -R 查看依赖
  • –replacepkgs 重新安装rpm包
  • –percent 在软件安装时显示百分比

开始使用 rpm -e mariadb 卸载 mariadb,提示说 mariadb-server 依赖于 mariadb。
因此需要先卸载 mariadb-server,再卸载 mariadb。

可以使用 rpm -qR mariadb-server 查看依赖
在这里插入图片描述

使用 rpm -q mariadb 查询,可以发现该卸载的均已卸载完毕了。

在这里插入图片描述

安装 mariadb

老规矩,先用 Putty 连接虚拟机中的 centos

使用命令 ip addr | grep inet 查看 ip,然后使用 PuTTY 连接
在这里插入图片描述输入 yum install -y mariadb-server 安装 mariadb-server,它会自动安装其依赖的 mariadb

在这里插入图片描述如果是 ubuntu 可以通过 apt-cache 命令查看依赖 apt-cache depends mariadb-server

在这里插入图片描述

mariadb 的启停命令

  • 启动服务
    systemctl start mariadbservice mariadb start

  • 停止服务
    systemctl stop mariadbservice mariadb stop

  • 重启服务
    systemctl restart mariadbservice mariadb restart

  • 添加到开机启动
    systemctl enable mariadbchkconfig mariadb on

  • 设置密码
    mysqladmin -u root password 'xxxxxx'

  • 安全设置,以及修改数据库管理员密码
    mysql_secure_installation

配置 mariadb

安装完后 mariadb,接下来就要设置账号密码了。

如果使用 mysqladmin -u root password 'xxxxxxx' 或 mysql_secure_installation 来配置报了如下错误,原因就是服务没开启。
在这里插入图片描述输入 systemctl start mariadbservice mariadb start 启动服务,然后输入 mysql_secure_installation 配置密码。

mysql_secure_installation

  • 第一次要求输入密码,直接回车
    Enter current password for root (enter for none)

  • 第二次才是设置 root 密码
    Set root password? [Y/n]
    New Password
    Re-enter new password

  • 是否删除匿名用户。Y或回车
    Remove anonymous users? [Y/n]

  • 是否禁止 root 远程登录。我这边在本地测试,安全性要求不高,因此我选 n
    Disallow root login remotely? [Y/n]

  • 是否删除数据库。Y或回车
    Remove test databse and access to it? [Y/n]

  • 重新加载权限表。Y或回车
    Reload privilege tables now? [Y/n]
    在这里插入图片描述

启动 mariadb

mysql -uroot -p<password>

注意:-u和用户名、-p和密码之间均没有空格
在这里插入图片描述

最后键入 exit(带不带分号均可),即可正常退出。
在这里插入图片描述

配置字符集

进入 maridb 命令行后,键入 show variables like "character";show variables like "%collection%" 查看字符集
在这里插入图片描述

vi /etc/my.cnf

在 [mysqld] 标签下添加

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

在这里插入图片描述

vi /etc/my.cnf.d/client.cnf

在 [client] 中添加

default-character-set=utf8

在这里插入图片描述

vi /etc/my.cnf.d/mysql-clients.cnf

在 [mysql] 中添加

default-character-set=utf8

在这里插入图片描述
全部配置完后,重启 mariadb
service mariadb restart ,这个命令会被重定向到 /bin/systemctl restart mariadb.service
在这里插入图片描述重启完,还是跟之前一样,进入 mariadb:mysql -uroot -p<password>

友情提示: 我之前打错命令,把 -uroot 打成 -rroot,结果出现 Ignoring query to other database 错误。所以如果出现该错误,请检查登录命令是否正确

重新输入 show variables like "%character%";show variables like "%collation%;" 查看字符集,可以发现现在基本都统一成了utf8了。
在这里插入图片描述

添加用户,设置权限

查看当前主机、用户、密码的哈希值

show database;
use mysql;
select host,user,password from user;

在这里插入图片描述

授权

grant <权限名数组 或 all privileges> on <数据库名>.<表名> to <用户名>@<允许的IP> identified by "<密码>";
flush privileges;

flush privileges 命令用来刷新权限,否则修改可能不生效。

在这里插入图片描述使用 show grants for '<用户名>' 可以查看授权时执行的命令
在这里插入图片描述

权限组有以下几种类型,可以用逗号隔开

  1. 数据库管理权限
权限名权限所允许的操作
CREATE USER
FILE
GRANT OPTION
  1. 数据库对象操作权限
权限名权限所允许的操作
ALTER
ALTER ROUTINE
CREATE
CREATE ROUTINE
CREATE TEMPORARY TABLE
CREATE VIEW
DELETE
DROP
EVENT
EXECUTE
INDEX
INSERT
LOCK TABLE
PEFERENCE
SELECT
SHOW VIEW
TRGGER
UPDATE
  1. 其它权限
权限名权限所允许的操作
ALL [PRIVILEGES]所有操作权限(但不包含GRANT)
USAGE一个特殊的“无权限”

<数据库名>.<表名>表示授予权限的具体数据库或表

db.table含义
.授予该数据库服务器中所有数据库的权限
db.*授予db数据库中所有表的权限
db.table授予数据库db中table表的权限

允许用户登录的IP

host含义
localhost只允许该用户在本地登录,不能远程登录
%允许在除本机之外的任何一台机器远程登录
192.168.1.1具体IP表示仅允许用户从该特定的IP登录

刷新权限更变

flush privileges

创建用户

创建用户 create <用户名> identified by '<password>'
查询之前创建的用户 select user,host,password from mysql.user where user="<用户名>"
在这里插入图片描述

修改密码

update mysql.user set password = password('<密码>') where user = '用户名' and host = ‘%’;
flush privileges;

删除用户

drop user <用户名>@'%;'

该命令会删除用户以及对应的权限。执行完后,你会发现 mysql.user 表中的用户,以及 mysql.db 表中的权限记录都消失了。

数据库的备份与恢复

首先进入数据库 mysql -uroot -p<password>,创建一个测试数据库并填充数据

MariaDB [(none)]>create database test;
MariaDB [(none)]>use test;
MariaDB [(none)]>create table book(name char(20), author char(20));
MariaDB [(none)]>insert into book values('相对论', '爱因斯坦');
MariaDB [(none)]>insert into book values('爱情公寓', '韦正');
MariaDB [(none)]>select * from book;

在这里插入图片描述

备份

从 mariadb 的命令行,退出到 centos 命令行。

执行 mysqldump -u root -p --all-databases > /tmp/db.dump 将数据库备份到 /tmp.dump 中。
在这里插入图片描述

恢复的2种方法

备份后进入 mariadb 命令行,删除之前创建的 test 数据库。

[root@localhost ~]# mysql -u root -p
Mariadb [(none)] >  drop database test
Mariadb [(none)] >  show databases

在这里插入图片描述
此时执行 source /tmp/db.dump 即可恢复数据库了

在这里插入图片描述如果不在 mariadb 命令行中,也可以直接使用 mysql -uroot -p < /tmp/db.dump 命令进行恢复(从外部恢复,不会有任何回显)

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mariadb 的安装及基本配置 的相关文章

随机推荐

  • Android:onNewIntent()触发机制及注意事项

    为什么80 的码农都做不了架构师 xff1f gt gt gt 一 onNewIntent 在 IntentActivity 中重写下列方法 xff1a onCreate onStart onRestart onResume onPause
  • 大气压随温度变化表_钓鱼与气压温度风向的关系春夏秋冬钓鱼最好时间图表

    详解钓鱼与气压之间的关系 xff1a 刀牛姐夫制作 欢迎留言 谢谢 什么样的气压适合钓鱼 xff1f 大气压力在1002 1054毫巴为好钓 xff1b 其中在1006 1028毫巴为很好钓 xff01 那么 xff0c 怎样才能了解气压的
  • linux的xstart命令怎么不能用,配置使通过Xmanager xstart远程连接linux

    安装gpm软件包 yum install gpm yum install gdm 1 编辑配置文件 etc gdm custom conf root 64 localhost vi etc gdm custom conf 找到以下两行 se
  • .NET Core 的缓存篇之MemoryCache

    前言 对于缓存我们都已经很熟悉了 缓存分为很多种 xff0c 浏览器缓存 试图缓存 服务器缓存 数据库缓存等等一些 xff0c 那今天我们先介绍一下视图缓存和MemoryCache内存缓存的概念和用法 xff1a 视图缓存 在老的版本的MV
  • 源码安装 MariaDB

    为什么80 的码农都做不了架构师 xff1f gt gt gt 官方文档 一 安装依赖组件 root 64 localhost yum y install gcc gcc c 43 43 make cmake ncurses ncurses
  • Centos的故障排除

    环境 xff1a centos 6 4 x86 64 所需工具 xff1a CentOS 6 4 x86 64 LiveDVD iso下载地址 xff1a http mirrors 163 com centos 6 4 isos 首先介绍
  • 服务器亮黄灯问题检查方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 找到硬盘和主板的位置 拔出主板 xff08 如图位置4块主板 xff09 xff0c 检查内存条是否松动 xff0c 建议重新插上内存 一个节点一块硬盘 xff0c 硬盘位
  • failed to open stream :HTTP request failed 解决方法

    用curl抓取 xff0c 不要用file get contents 前者比后者效率高一点 转载于 https www cnblogs com Basu p 7940167 html
  • Android通过第三方软件打开Word、Excel、PPT、PDF等文档

    近期公司有个需求 xff0c PDF格式需要在应用内打开浏览 xff0c Word Excel要求不高直接用第三方软件打开即可 xff0c 找了两种解决办法 第一 xff0c 全部在应用内打开 xff0c 可接入腾讯的TBS xff08 没
  • mariadb数据库文件的组成

    一 日志文件 1 错误日志 xff1a error log 错误日志记录msyql运行过程中所有较为严重的警告和错误信息 xff0c 以及mariadb server 每一次启动和关闭的详细信息 xff0c 事件调度运行一个事件时产生的信息
  • FTP中的授权规则

    在授权规则中 xff0c 你可以管理自己的FTP站点以怎样的方式进行访问 xff0c 比如每个进入站点的人都需要输入用户名密码 正则可以在授权规则中删除默认的配置 允许匿名用户读取 的规则 也可以在此处 xff0c 对不同的组或用户进行粒度
  • docker应用实例——httpd

    docker可以用来创建虚拟环境跑应用 xff0c 各个应用能起到隔离作用 步骤也很简单 xff0c 就是获取 下拉镜像 应用 xff0c 然后进行安装就可以了 1 搜索镜像 xff0c 比如我想虚拟一个httpd应用 xff0c 可以看到
  • curl: (1) Protocol "'http" not supported or disabled in libcurl

    Windows下安装Curl 下载的64位版本 下载后 xff0c 将以下文件复制到 D Windows 目录下 注意 xff1a 我的系统在D盘 但是使用以下命令时 xff1a curl X GET 39 http localhost 9
  • ios UILabel 字体设置 大全

    2019独角兽企业重金招聘Python工程师标准 gt gt gt code UILabel垂直居上对齐 label sizeToFit 设置文字过长时的显示格式 label lineBreakMode 61 UILineBreakMode
  • Activity关于onConfigurationChanged方法

    方法介绍 方法 xff1a public void onConfigurationChanged Configuration newConfig 场景 xff1a 当系统的 配置信息 发生改变时 xff0c 系统会调用此方法 前提是 xff
  • Ubuntu server10.4实现自动登录

    下面是网上找的方法 xff1a 注意 这里的修改要非常小心 xff0c 出来命令不能敲错之外 xff0c 一定要记得执行 chmod 43 x autologin xff0c 不然搞不好可能会导致启动不了 xff0c 我在操作的时候就因为忘
  • FTP服务器之身份验证、授权及隔离详解

    FTP 服务器之身份验证 授权及隔离 贰零壹叁年拾月国庆假期 YoloSntim 简介 Windows 中较为基本服务器功能 xff0c 提供文件上下载功能 可单服务器管理 xff0c 亦可与域集成在一起 网上有许多介绍及教程 xff0c
  • C++到底还能做什么?

    嗯 xff0c 这是一位朋友发到我邮箱里面的 xff0c 很奇怪 xff0c 发到了gmail邮箱 xff0c 而不是我常用的hotmail邮箱哈 我呢 xff0c 试着回答一下 xff0c 如果回答得不好 xff0c 叫做肖某人学艺不精
  • 年月日时的天干推算方法

    年干推算方法 公历年号计算农历年干支的方法与公式 查出公元4年为 甲子 年 故计算公式设公元后减3 xff1b 公元前减2 公元后农历年干支的计算方法 xff1a 天干计算 xff1a 公历年号的个位数 3即为天干序号 xff1b 个位为0
  • mariadb 的安装及基本配置

    mariadb 的由来 MariaDB数据库管理系统是MySQL的一个分支 xff0c 主要由开源社区在维护 xff0c 采用GPL授权许可 开发这个分支的原因之一是 xff1a 甲骨文公司收购了MySQL后 xff0c 有将MySQL闭源