CentOS-7 安装 MariaDB-10.8

news/2025/1/12 16:04:14/

一、安装之前删除已存在的 Mysql/MariaDB

1 查找存在的 MariaDB

# 注意大小写
rpm -qa | grep MariaDB # rpm -qa 列出所有被安装的rpm package  (-qa:query all)
rpm -qa | grep mariadb # grep (缩写来自Globally search a Regular Expression and Print

如果存在,则使用以下命令进行删除:

rpm -e --nodeps MariaDB-* # rpm -e 程序包名,代表删除一个 rpm程序,e代表erase删除,擦除之意

2 查找并删除 Mysql

#查找mysql
rpm -qa | grep mysql
#删除查找出来的结果
yum remove mysql mysql-server mysql-libs compat-mysql51

二、安装

1 创建 MariaDB 的 yum 仓库配置文件

使用命令创建文件:

vim /etc/yum.repos.d/MariaDB.repo

并在文件中输入以下内容:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

注意:行首不能有空格,否则会报错

不过我在这里将文件内容做了一些更改,对于 baseurl 做了一些调整,实际文件内容如下:

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.8/centos7-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

对于 mariadb 的版本选择,你可以根据这个网址去选择你想安装 centos7 amd64 位其他版本号的版本:中科大镜像源、阿里云镜像源 或者 国外镜像源。然后获取到对应版本的网址 ,修改MariaDB.repo文件中的baseurl 值。

2 安装

安装 Mariadb 之前,你可以先导入 GPG key

rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

运行安装命令安装 MariaDB(安装过程可能会比较漫长,使用中科大的就快了):下载安装包,进行自动安装,

yum -y install MariaDB-server MariaDB-client

安装成功之后启动 MariaDB 服务,并设为开机自启。

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB
systemctl status mariadb #查看mariadb运行状态

3 登录

登录到数据库用

mysql -uroot -p

登录到 MariaDB,此时 root 账户的密码为空,直接回车即可,退出 Mariadb,exit;即可。

4 初始化配置

进行 MariaDB 的相关简单配置, 使用一下命令进行配置(先退出数据库)。

mariadb-secure-installation

配置过程中会出现以下信息:

#首先是设置密码,会提示先输入密码 
Enter current password for root (enter for none):<–初次运行直接回车 
Switch to unix_socket authentication [Y/n] <–这里选择n
#设置密码 
Change root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码 #其他配置 
Remove anonymous users? [Y/n] <– 是否删除匿名用户,输入y回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,这个可以选择n
Remove test database and access to it? [Y/n] <– 是否删除test数据库,这个可以选择n
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,输入y回车

初始化 MariaDB 完成,直接登录,成功。

mysql -uroot -p

5 配置 MariaDB 的字符集

(1)文件 /etc/my.cnf

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

(2)文件/etc/my.cnf.d/mysql-clients.cnf

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

在[mysql]中添加

default-character-set=utf8

(3)使用 vim /etc/my.cnf.d/server.cnf 命令编辑 server.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

配置初始化完成,重启 Mariadb。

systemctl restart mariadb

之后进入 Mariadb,查看字符集。

show variables like "%character%";show variables like "%collation%";

6 添加用户,设置权限

创建用户命令(用户名,密码请自行修改)

# create user username@localhost identified by 'password';
create user didiok@localhost identified by '123456';

授予外网登陆权限

# grant all privileges on *.* to username@'%' identified by 'password';
grant all privileges on *.* to didiok@'%' identified by '123456';
flush privileges;

简单的用户和权限配置就完成了。

授予部分权限只需把 all privileges 改为 select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 其中一部分即可。


http://www.ppmy.cn/news/80533.html

相关文章

【Redis】Redis分布式锁的10个坑

文章目录 前言1. 非原子操作&#xff08;setnx expire&#xff09;2.被别的客户端请求覆盖&#xff08; setnx value为过期时间&#xff09;3. 忘记设置过期时间4. 业务处理完&#xff0c;忘记释放锁5. B的锁被A给释放了6. 释放锁时&#xff0c;不是原子性7. 锁过期释放&…

【剧前爆米花--爪哇岛寻宝】TCP保证效率,应对特殊情况等相关机制

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于网络编程的文章&#xff0c;在这篇文章中我会着重介绍TCP保证效率&#xff0c;应对特殊情况等相关机制&#xff0c;希望对你有所帮助&#xff01; 目录 效率 批量传输 滑动窗口 …

研发工程师玩转Kubernetes——自动扩缩容

在《研发工程师玩转Kubernetes——使用Deployment进行多副本维护》一文中&#xff0c;我们通过Deployment实现了多副本维护——即维持在一个确定数量的副本个数。而在现实场景中&#xff0c;我们往往需要根据服务的压力&#xff0c;采用水平&#xff08;横向&#xff09;扩容的…

jQuery-基本过滤器

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>基本过滤器</title> <style type"text/css"> …

RHCE考试笔记

linux 终端界面调大调小&#xff08;推荐使用外部的终端软件&#xff09; 1&#xff1a;调大 shift ctrl 号 2&#xff1a;调小 ctrl - 号 进入终端&#xff1a;当前用户名主机名 当前工作的目录 #管理员提示符 &#xff01;&#xff1a;localhost是默认的 ~ 当前所在的工作…

OpenCV入门-基于Python

图像入门 1. 创建窗口namedWindow()resizeWindow()destroyAllWindow() 2.显示图像imread()imshow()imwrite()waitKey()flip() 代码演示3.显示视频VideoCapure()对象cap.get()cap.isOpened()cap.read()cap.release() 部分功能代码演示VideoWriter()对象VideoWriter_fourcc()writ…

安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)

前言 在我之前的文章 羡慕大劳星空顶&#xff1f;不如跟我一起使用 Jetpack compose 绘制一个星空背景&#xff08;带流星动画&#xff09; 中&#xff0c;我们使用 Compose 实现了星空背景效果。 并且调用非常方便&#xff0c;只需要一行代码就可以给任意 Compose 组件添加上…

「SQL面试题库」 No_77 每月交易II

&#x1f345; 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起&#xff0c;全员免费参与的SQL学习活动。我每天发布1道SQL面试真题&#xff0c;从简单到困难&#xff0c;涵盖所有SQL知识点&#xff0c;我敢保证只要做完这100道题&#xff0c;不仅能轻松搞定面试&#xff0…