CentOS 7 自带的 MariaDB 是 5.5 版本的,使用 yum install mariadb-server 命令安装的默认版本是 5.5 的,这是因为系统默认源只有 5.5 的版本。
检查是否安装过 MariaDB 或 MySQL
rpm -qa | grep mariadb
或
yum list installed | grep mariadb
rpm -qa | grep -i mysql
或
yum list installed | grep mysql
若存在,则卸载
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
或
yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
全部删除
rpm -e --nodeps mariadb-*
若卸载错误,则使用以下命令
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
Choose a distribution:CentOS 7 (x86_64)
Choose a MariaDB Server version:0.8
Mirror:Alibaba Cloud
Download MariaDB Server - MariaDB.org
复制以下 MariaDB 源
# MariaDB 10.8 CentOS repository list - created 2022-09-28 02:55 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.8/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
执行命令,将 MariaDB 官网复制的源代码粘贴进去:
vim /etc/yum.repos.d/MariaDB.repo
保存并退出:
Esc ==> :wq ==> Enter
yum install MariaDB-server MariaDB-client
其他命令:
yum install mariadb mariadb-server
或
yum install -y MariaDB-server MariaDB-client
建议使用最后一个命令安装,不用询问
mariadb-secure-installation
错误:
原因:未启动数据库
Enter current password for root (enter for none): 输入当前的root密码(默认空),直接回车
Set root password? [Y/n] 设置新密码,y (Change the root password? [Y/n] y)
Remove anonymous users? [Y/n] 移除匿名用户,y
Disallow root login remotely? [Y/n] 禁止root用户远程登录,y
Remove test database and access to it? [Y/n] 移除测试数据库,y
Reload privilege tables now? [Y/n] y
启动:
systemctl start mariadb
设置开机启动:
systemctl enable mariadb
配置文件位置:
/etc/my.cnf
1.可能是当前的连接账号是否支持远程链接
2.防护墙处于开启状态
步骤1:登录
mysql -uroot -p
步骤2:选择数据库
选择mysql数据,因为用户表(user)在这个数据库里
use mysql
步骤3:查询User表
select `user`,authentication_string,`Host` from `user`;
步骤4:增加root允许其他主机进行连接
执行下面这段语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
123456为连接密码,%为任意主机,就是任意主机可以通过用户名root + 密码12345 进行连接,你也可以指定只允许某IP的主机进行连接。
步骤5:重新加载用户权限
flush privileges;
步骤6:查看当前防护墙状态
firewall-cmd --state
步骤7:关闭防火墙
提示:如果防火墙已经关闭了,这一步可以省略
systemctl stop firewalld
步骤8:再次查看防火墙状态
注意:当前是虚拟机环境下才需要关闭防火墙,如果是云服务器的话在安全组把3306端口放行即可
步骤9:再次连接
参考文章:https://bloghut.blog.csdn.net/article/details/114218119