网站运维:Centos7使用yum安装最新MariaDB 10.4.6

本文介绍在CentOS7系统下安装MariaDB数据库的详细步骤,包括删除旧版本、创建源文件、安装、启动、设置开机自启及简单配置等。还针对登录时出现的权限错误,给出免密登录、修改密码等解决方法,可用于密码重置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、删除旧版本

centos7下默认安装有mariadb数据库,但是是旧版本,在安装新版本前需要先把旧版本删除,有些系统还默认安装mysql,也必须删除,否则与mariadb会产生冲突,如下命令过程:

rpm -qa | grep mariadb

用命令yum删除以上三个:


yum remove mariadb-server-5.5.60-1.el7_5.x86_64
yum remove mariadb-5.5.60-1.el7_5.x86_64
yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
yum remove MariaDB-server-10.4.6-1.el7.centos.x86_64
yum remove MariaDB-client-10.4.6-1.el7.centos.x86_64

2、创建 MariaDB.repo

在目录下 /etc/yum.repos.d/ 创建文件: MariaDB.repo

并把以下内容添加到所建文件中
用阿里源,内容如下:

[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64/
gpgkey =  http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

2.1、 清除Yum的缓存并重新建立

yum clean all
yum makecache

2.2、打印MariaDB源中的软件包:

yum list --disablerepo=\* --enablerepo=mariadb

3、安装 install MariaDB

安装MariaDB数据库:
yum install MariaDB-client MariaDB-server MariaDB-devel -y

4、 安装完成MariaDB,首先启动MariaDB

systemctl start mariadb

5、 设置开机启动

systemctl enable mariadb
systemctl 常用命令:

systemctl start mariadb #启动服务

systemctl enable mariadb #设置开机启动

systemctl restart mariadb #重新启动

systemctl stop mariadb.service #停止MariaDB

6、 接下来进行MariaDB的相关简单配置(卸载安装可能会残留之前的密码)

输入以下命令:

sudo 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] #<– 是否删除匿名用户,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] #<– 是否重新加载权限表,回车

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

7、测试登录

mysql -u root -p

8、ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES);

解决方法

①配置免密登录

修改my.conf配置文件

vim /etc/my.conf

在任意位置添加如下参数

skip-grant-tables #配置免密码登录

②保存退出后重启mysql

systemctl restart mysql;

③重新登陆MySQL

直接在窗口出入mysql后回车即可登录了

mysql -u root -p #直接回车即可登录

④修改root密码

alter user ‘root’@’%'identified by ‘root@123’;#修改密码为‘root@123’

⑤退出MySQL 删除免密登陆参数

将my.conf文件里skip-grant-tables 参数注释或者删掉

保存文件后,重启MySQL

再登录即可
忘记root密码也可通过此方法完成密码重置

### 编写 Shell 脚本以在 CentOS 7 上通过 Yum 安装 MariaDB 为了实现自动化部署,可以创建一个名为 `install_mariadb.sh` 的 Bash 脚本来完成此操作。该脚本会执行必要的预处理工作并调用 yum安装 MariaDB。 #### 关闭 SELinux 和防火墙设置 考虑到安全性和网络访问的需求,建议先调整 SELinux 设置以及清理 iptables 规则以便允许数据库服务正常运行: ```bash #!/bin/bash # 备份原始配置文件以防恢复 cp /etc/selinux/config /etc/selinux/config.bak # 修改SELinux状态为禁用 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # 清除现有iptables规则 iptables -F service iptables save ``` 上述命令修改了 `/etc/selinux/config` 文件中的 SELinux 配置选项,并清除了所有的 IP 表规则[^3]。 #### 使用 Yum 安装 MariaDB 及其开发工具包 接下来的部分负责实际的软件包安装过程,这里不仅限于服务器组件还包括客户端和其他可能需要用到的支持库: ```bash # 更新系统仓库缓存 yum makecache fast # 安装MariaDB服务器及相关依赖项 yum install -y mariadb-server mariadb-devel # 启动MariaDB服务并将它设为开机自启 systemctl start mariadb.service systemctl enable mariadb.service echo "MariaDB 已成功安装" ``` 这段代码片段利用 yum 命令来获取最新的元数据信息,接着指定要安装的具体软件包名称列表,最后启动新安装的服务程序并且将其加入到系统的初始化进程中去[^1][^2]。 完整的 shell 脚本如下所示: ```bash #!/bin/bash # Backup original config file before making changes cp /etc/selinux/config /etc/selinux/config.bak # Disable SELinux by modifying its configuration file sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # Clear existing iptables rules to allow database service operation iptables -F service iptables save # Update system repository cache yum makecache fast # Install MariaDB server along with development packages yum install -y mariadb-server mariadb-devel # Start MariaDB service and set it up as a boot-starting service systemctl start mariadb.service systemctl enable mariadb.service echo "MariaDB has been successfully installed." ``` 保存以上内容至 `.sh` 文件后赋予可执行权限即可随时用来快速搭建环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值