mariadb 的安装及基本配置

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 命令进行恢复(从外部恢复,不会有任何回显)

在这里插入图片描述

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装MariaDB集群,你可以按照以下步骤进行操作: 1. 首先,你需要下载并安装MariaDB集群的软件包。根据引用\[1\]中提供的信息,你可以使用以下命令将软件包添加到你的软件源中: ``` \[mariadb-cluster-10.3.13\] name=mariadb-cluster-10.3.13 baseurl=http://192.168.7.251/mariadb-cluster-10.3.13 enabled=1 gpgcheck=0 ``` 这将使你能够从指定的URL下载并安装MariaDB集群。 2. 安装完成后,你可以使用以下命令安装MariaDB集群: ``` sudo yum install MariaDB-server MariaDB-client ``` 3. 安装完成后,你需要配置MariaDB集群。根据引用\[3\]中提供的信息,你可以编辑`/etc/my.cnf`文件,并根据你的需求进行配置。确保设置正确的socket、datadir、server_id等参数。 4. 配置完成后,你可以启动MariaDB集群: ``` sudo systemctl start mariadb ``` 5. 最后,你可以使用以下命令检查MariaDB集群的状态: ``` sudo systemctl status mariadb ``` 请注意,以上步骤仅提供了一个基本安装配置过程。根据你的具体需求,可能还需要进行其他配置和调整。建议你参考MariaDB官方文档或其他可靠资源,以获取更详细的安装配置指南。 #### 引用[.reference_title] - *1* *3* [MariaDB-10.3.13集群版(多主模式)安装全过程](https://blog.csdn.net/TheManOfCoding/article/details/87916406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mariaDB数据库安装配置-集群搭建步骤5](https://blog.csdn.net/xhk12345678/article/details/124723242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值