cenos7 下通过yum安装和配置mariadb

2023-11-13

centos 7 的软件源中有mariadb的,所以这里我们不配置他的源了,若没有的话可以用以下方式来配软件源

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

插入以下内容:

# MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

运行安装命令安装MariaDB

yum -y install MariaDB-server MariaDB-client

也可以用

yum -y install MariaDB-server MariaDB*

第二种方法可一次把所有组件全安装上

下载安装包,然后进行自动安装,安装成功之后启动MariaDB服务。

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB

服务启动后我们就可以配置数据库,在这我推荐用 mysql_secure_installation 这个命令来进行配置

mysql_secure_installation

clearriver
CentOS7下使用yum安装MariaDB

CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

Linux下安装MariaDB官方文档参见:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/

全部删除MySQL/MariaDB

MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用rpm -e –nodeps mariadb-*全部删除:

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mysql-*
错误:未安装软件包 mysql-*

2.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
复制代码

[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51
已加载插件:fastestmirror, langpacks
参数 mysql 没有匹配
参数 mysql-server 没有匹配
参数 compat-mysql51 没有匹配
正在解决依赖关系
–> 正在检查事务
—> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 删除
–> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 perl-DBD-MySQL-4.023-5.el7.x86_64 需要
–> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
–> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:qt-mysql-4.8.5-13.el7.x86_64 需要……….

复制代码
复制代码

删除:
mariadb-libs.x86_64 1:5.5.52-1.el7

作为依赖被删除:
akonadi-mysql.x86_64 0:1.9.2-4.el7 mariadb-server.x86_64 1:5.5.52-1.el7
perl-DBD-MySQL.x86_64 0:4.023-5.el7 postfix.x86_64 2:2.10.1-6.el7
qt-mysql.x86_64 1:4.8.5-13.el7

完毕!
[root@localhost ~]# rpm -qa|grep mariadb
[root@localhost ~]#

复制代码

3.开始新的安装, 创建MariaDB.repo文件

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

插入以下内容:

MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC

http://downloads.mariadb.org/mariadb/repositories/

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

系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

4.运行安装命令安装MariaDB
复制代码

[root@localhost ~]# yum -y install MariaDB-server MariaDB-client
已加载插件:fastestmirror, langpacks
mariadb | 2.9 kB 00:00
mariadb/primary_db | 18 kB 00:09
Determining fastest mirrors
* base: mirrors.btte.net
* extras: mirrors.zju.edu.cn
* updates: mirrors.zju.edu.cn
正在解决依赖关系
–> 正在检查事务
—> 软件包 MariaDB-client.x86_64.0.10.2.4-1.el7.centos 将被 安装
–> 正在处理依赖关系 MariaDB-common,它被软件包 MariaDB-client-10.2.4-1.el7.centos.x86_64 需要
—> 软件包 MariaDB-server.x86_64.0.10.2.4-1.el7.centos 将被 安装
–> 正在处理依赖关系 galera,它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
–> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
–> 正在检查事务
—> 软件包 MariaDB-common.x86_64.0.10.2.4-1.el7.centos 将被 安装
–> 正在处理依赖关系 MariaDB-compat,它被软件包 MariaDB-common-10.2.4-1.el7.centos.x86_64 需要
—> 软件包 galera.x86_64.0.25.3.19-1.rhel7.el7.centos 将被 安装
—> 软件包 jemalloc.x86_64.0.3.6.0-1.el7 将被 安装
–> 正在检查事务
—> 软件包 MariaDB-compat.x86_64.0.10.2.4-1.el7.centos 将被 安装
–> 解决依赖关系完成

依赖关系解决

================================================================================

Package 架构 版本 源 大小

正在安装:
MariaDB-client x86_64 10.2.4-1.el7.centos mariadb 48 M
MariaDB-server x86_64 10.2.4-1.el7.centos mariadb 113 M
为依赖而安装:
MariaDB-common x86_64 10.2.4-1.el7.centos mariadb 104 k
MariaDB-compat x86_64 10.2.4-1.el7.centos mariadb 2.8 M
galera x86_64 25.3.19-1.rhel7.el7.centos mariadb 8.0 M
jemalloc x86_64 3.6.0-1.el7 mariadb 104 k

事务概要

安装 2 软件包 (+4 依赖软件包)
….

复制代码

首先下载安装包,然后进行自动安装,安装成功之后启动MariaDB服务。

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB

5.登录到数据库

  用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。

6.进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword
[root@localhost ~]# mysql -uroot -proot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.56-MariaDB MariaDB Server

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

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

MariaDB [(none)]> 

至此安装已完成,现在我们要对数据库进行配置。

1、配置MariaDB的字符集
查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。

cd /etc/my.cnf.d

  1)使用vi server.cnf命令编辑server.cnf文件,在[mariadb]标签下添加

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

如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mariadb]标签下添加以上内容。

2)文件/etc/my.cnf.d/client.cnf

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

在[client]中添加

default-character-set=utf8

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

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

在[mysql]中添加

default-character-set=utf8

全部配置完成,重启mariadb

systemctl restart mariadb

之后进入MariaDB查看字符集

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

显示为

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client    | utf8                      |
| character_set_connection | utf8                      |
| character_set_database  | utf8                      |
| character_set_filesystem | binary                    |
| character_set_results    | utf8                      |
| character_set_server    | utf8                      |
| character_set_system    | utf8                      |
| character_sets_dir      | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value          |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database  | utf8_unicode_ci |
| collation_server    | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

字符集配置完成。

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

cenos7 下通过yum安装和配置mariadb 的相关文章

随机推荐

  • 2017年如何成为全栈工程师,这些技能是你必须具备的!

    转载自 A Guide to Becoming a Full Stack Developer in 2017 作者 Daniel Borowski 译者 夜风轻扬 编者按 根据Stack Overflow 2016 Developer 调查
  • 字节一面:post为什么会发送两次请求?

    前言 最近博主在字节面试中遇到这样一个面试题 这个问题也是前端面试的高频问题 因为在前端开发的日常开发中我们总是会与post请求打交道 一个小小的post请求也是牵扯到很多知识点的 博主在这给大家细细道来 作者简介 程序员小豪 全栈工程师
  • Redis 高性能IO模型:为什么单线程Redis能那么快?

    今天 我们来探讨一个很多人都很关心的问题 为什么单线程的 Redis 能那么快 首先 我要和你厘清一个事实 我们通常说 Redis 是单线程 主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的 这也是 Redis 对外提供
  • SQL行列转换

    常见的行列转换包括以下四种情况 1 列转行 2 行转列 3 列转换成字符串 4 字符串转换成列 1 列转行 导入数据 DROP TABLE IF EXISTS t student CREATE TABLE t student id int
  • 教你一招,彻底清除“一刀999”的弹窗广告

    大家的电脑是不是也经常弹出烦人的广告 对于程序员来说 电脑从不离手 如果总是弹出广告 特别的烦人 今天我就来分享如何屏蔽广告 666 跟弹窗广告说拜拜 教你一招 彻底清除恶意软件的弹窗广告 一 首先按Win R打开运行 二 然后我们输入MR
  • VC6++配置汇编环境和第一个简单程序

    准备工作 1 下载并安装VC6 软件 2 下载Irvine32 lib库以及相关文件 Intel 汇编语言程序设计 irvine lib文件内 3 下载ml exe和ml err文件 ml from masm32文件内 以上准备工作的文件均
  • JPA 多对多映射,查询死循环

    解决方法 中断循环即可 首先这不是jpa的问题 是序列化的问题 我们只要中断序列化就可以了 通过注解 JsonIgnoreProperties value dblist 将产生死循环的属性忽略 中断死循环 例子 Entity Data pu
  • BUUCTF [FBCTF2019] Products Manager

    BUUCTF FBCTF2019 Products Manager 考点 基于约束的SQL攻击 数据库字符串比较 INSERT截断 启动环境 产品管理 其中有三个功能 查看前5的产品 添加产品 查看产品细节 知道了大致功能 尝试正常的业务逻
  • MTK手机平台充电原理

    EPT GPIO初始化文件 bsp gpio ept config c 1 知识点总结 1 1 Official 参考充电电路 Figure 1 1 参考电路 VCHG USB正极 VCDT VCHG Charger Detect充电电压检
  • SpringBoot实现基础的sso单点登录

    前言 本文借鉴学习了团团大佬的文章和源码 原文地址 想知道单点登录原理等理论可以移步大佬文章 代码及实现 本次学习基于session模拟了数据库查询和token权限认证 构建 准备三个服务器 这里用三个springboot项目直接模拟了 他
  • python把坐标点画成三维图形_python matplotlib模块——绘制三维图形、三维数据散点图(转)...

    python matplotlib模块 是扩展的MATLAB的一个绘图工具库 他可以绘制各种图形 可是最近最的一个小程序 得到一些三维的数据点图 就学习了下python中的matplotlib模块 如何绘制三维图形 初学者 可能对这些第三方
  • 操作系统考试复习——第四章 4.3连续分配存储管理方式

    在这里的开头需要讲述一下碎片 碎片分为内碎片和外碎片两种 内碎片 分区之内未被利用的空间外碎片 分区之间难以利用的空闲分区 通常是小空闲分区 连续分配存储管理方式 为了能将用户程序装入内存 必须为它分配一定大小的内存空间 1 单一连续分配
  • android移动开发软件安装,android studio 开发的安卓软件怎么安装到手机上

    android studio 开发中如何让运用运行在真机中 大体实现方式有3种 分别是 真机通过usb插到电脑上进行开发 android studio 上面编写程序进行编译apk版本 通过其他助手或者adb命令推送到手机中运行 通过wifi
  • docker入门级使用教程

    1 Docker是什么 简单理解为主要应用在Linux上的虚拟机 后台中常用到 镜像 系统的镜像文件 是一个系统 容器 正在运行中的虚拟机 tar文件 将镜像直接保存为tar文件 是一个可加载的中间文件 Dockfile 配置文件 根据其中
  • FFT简介小结

    FFT是离散傅立叶变换的快速算法 可以将一个信号变换到频域 有些信号在时域上是很难看出什么特征的 但是如果变换到频域之后 就很容易看出特征了 这就是很多信号分析采用FFT变换的原因 另外 FFT可以将一个信号的频谱提取出来 这在频谱分析方面
  • 【微信小程序】wx.onBluetoothDeviceFound 安卓机第一次可以连接蓝牙设备,第二次搜索不到问题

    问题原因 wx onBluetoothDeviceFound 接口返回的是新的蓝牙设备 之前连接过的在部分安卓机型上 不算做新的蓝牙设备 故重新连接搜索不到 解决办法 操作完成后要及时关闭连接 同时也要关闭蓝牙设备 否则安卓下再次进入会搜索
  • 使用遗传算法解决单目标优化问题及MATLAB代码实现

    使用遗传算法解决单目标优化问题及MATLAB代码实现 随着现代计算机科学的快速发展 越来越多的实际问题需要使用最优化算法进行求解 其中 遗传算法因其应用范围广泛 求解能力强等特点而备受关注和研究 本文将介绍如何使用遗传算法求解单目标优化问题
  • Ubuntu 18.04.6 Android Studio Giraffe adb logcat 无法使用

    在 Ubuntu 18 04 6 上 在链接上设备以后 发现可以用 Android Studio 安装应用 但无法用 Android Studio 看 logcat 手动从命令行停止 启动 adb 会报错如下 daemon not runn
  • 自定义导航栏

  • cenos7 下通过yum安装和配置mariadb

    centos 7 的软件源中有mariadb的 所以这里我们不配置他的源了 若没有的话可以用以下方式来配软件源 vi etc yum repos d MariaDB repo 插入以下内容 MariaDB 10 2 4 CentOS rep