Linux安装Mariadb

检查是否安装,如已安装,先卸载

1
rpm -qa | grep Mariadb*

配置要安装的[mariadb](MariaDB Server - All releases - MariaDB.org))版本对应的yum源

https://mariadb.org/mariadb/all-releases

选择要下载的版本,这里以10…11演示

image-20230217150909677

点击 MariaDB Repositories 后,选择对应的版本,然后复制下方内容

image-20230217151217659

按照提示信息创建yum源信息文件 vi /etc/yum.repos.d/MariaDB.repo 这里选择的阿里云

1
2
3
4
5
6
7
8
9
10
11
# MariaDB 10.11 CentOS repository list - created 2023-02-17 07:13 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/centos/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

yum安装 Mariadb

1
sudo yum install MariaDB-server MariaDB-client mariadb

Mariadb 相关命令

1
2
3
4
5
6
7
yum install mariadb mariadb-server
systemctl start mariadb #启动mariadb
systemctl enable mariadb #设置开机自启动
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
mariadb-secure-installation #设置root密码等相关 10.5.2前请用 MysqL_secure_installation
MysqL -uroot -p #测试登录

修改root的密码

1
2
3
update MysqL.user set password=PASSWORD('yhb123456') where user=root';
// 更新权限
flush privileges;

新建用户

1
2
create user  '用户名'@'主机' identified by '密码'   如果只允许本机访问 @'localhost',或者指定一个ip  @'192.xx.xx.xx' 或者使用通配: @'%'
create user read_visa'@%' identified by 123456';

给用户分配权限

1
grant 操作类型 on 数据库.表 to 用户@'主机'   数据库,表,主机都支持通配符 grant select,insert on *.* to  'read_visa'@'%' grant all on visa.* to 'read_visa'@'%';  all 表示所有权限grant select on visa.* to ';

卸载

1、查看MysqL安装了哪些东西

1
# rpm -qa |grep -iE "MysqL|mariadb"

2、开始卸载

1
yum remove mariadb -y

3、查看是否卸载完成

1
# rpm -qa |grep -iE "MysqL|mariadb"

4、查找MysqL相关目录

1
# find / -name MysqL/usr/share/MysqL

5、删除相关目录

1
# rm -rf /usr/share/MysqL

6、删除/etc/my.cnf

1
# rm -rf /etc/my.cnf

7、删除/var/log/MysqLd.log(如果不[删除这个文件,会导致新安装的MysqL无法生存新密码,导致无法登陆)

1
# rm -rf /var/log/MysqLd.log

报错处理

卸载报错

1
2
3
4
5
6
7
8
9
[root@ops-movemachine-01 ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
mariadb-libs(x86-64) = 1:5.5.68-1.el7 is needed by (installed) mariadb-1:5.5.68-1.el7.x86_64


############################### 加上--nodeps
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

启动mariadb报错

1
2
3
4
5
6
7
[root@ops-movemachine-01 ~]# systemctl start mariadb
Failed to start mariadb.service: Unit not found.

################################# 缺少安装mariadb
yum install mariadb

################################# 或者出现这个的原因是机器上之前安装了MysqL,删除掉就可以了。

mysql_secure_installation: command not found的解决办法

查阅资料后发现,从10.5.2开始已经由mariadb-secure-installation命令替换

官方文档:

mysql_secure_installation - MariaDB Knowledge Base