Centos7安装MariaDB10.5
第一步:添加 MariaDB yum 仓库
1.0、卸载Centos7自带的MariaDB5.5。
- 列出安装的包
[root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
- 卸载包
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
[root@localhost ~]# yum remove mariadb
1.1、在CentOS操作系统中/etc/yum.repos.d/目录下添加 MariaDB 的yum配置文件MariaDB.repo文件。
vim /etc/yum.repos.d/MariaDB.repo
在该文件中添加以下内容保存:
https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64–centos7&mirror=escience&version=10.5
# MariaDB 10.5 CentOS repository list - created 2021-05-30 14:43 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
1.2、清除yum的缓存并重新建立
[root@localhost src]# yum clean all
[root@localhost src]# yum makecache
第二步:安装 MariaDB
测试: 当前虚拟机是否可以正确的链接外网。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T2Ldztup-1626136149286)(E:\Notes\Centos7安装MariaDB10.5.assets\image-20210530235304914.png)]
2.1、通过yum命令安装 MariaDB。
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# sudo yum install MariaDB-server MariaDB-client
2.2、安装完成后,立即启动数据库服务守护进程。
[root@localhost src]# systemctl start mariadb
2.3、设置 MariaDB 在操作系统重启后自动启动服务。
[root@localhost src]# systemctl enable mariadb
2.4、查看 MariaDB 服务当前状态。
[root@localhost src]# systemctl status mariadb
启动命令 [root@localhost src]# systemctl start mariadb重启命令 [root@localhost src]# systemctl restart mariadb关闭命令 [root@localhost src]# systemctl stop mariadb设定开机自起 [root@localhost src]# systemctl enable mariadb 关闭开机自起 [root@localhost src]# systemctl disable mariadb
第三步:对 MariaDB 进行安全配置,初始化
[root@localhost src]# mysql_secure_installation
首先是设置密码,会提示先输入密码:Enter current password for root (enter for none):<–初次运行直接回车设置密码:Set root password? [Y/n] y<– 是否设置root用户密码,输入y并回车或直接回车New password: <– 设置root用户的密码Re-enter new password: <– 再输入一次你设置的密码其他配置:Remove anonymous users? [Y/n] y<– 是否删除匿名用户,回车Disallow root login remotely? [Y/n] y<–是否禁止root远程登录,回车Remove test database and access to it? [Y/n] y<– 是否删除test数据库,回车Reload privilege tables now? [Y/n] y<– 是否重新加载权限表,回车初始化MariaDB完成,接下来测试登录# mysql -uroot -p 进入数据库(数据库中的操作命令和mysql是一样的)
第四步:为 MariaDB 配置远程访问权限
如果不能在别的电脑通过navicat等工具连接到数据库,这时就需要给对应的 MariaDB 账户分配权限,允许使用该账户远程连接到MariaDB。
输入以下命令查看账号信息:
MariaDB [mysql]> select host,user,password from mysql.user;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bV1hpLJO-1626136149288)(E:\Notes\Centos7安装MariaDB10.5.assets\image-20210530220741042.png)]
4.1、创建一个远程账户,并给此账户分配远程连接的权限:
root账户中的host项是localhost表示该账号只能进行本地登录,远程访问则需要修改权限,输入命令:
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '远程账户密码' WITH GRANT OPTION;
该命令设置了一个root账户,密码为“远程账户密码”的账户,你可以用该账户通过远程工具,比如Navicat来对数据库进行连接。其中的%表示允许任何ip地址对数据库进行远程连接,如果想只让某个IP段的主机连接,也可以对其进行限制,比如‘192.168.25.%’就表示只允许这个网段的ip远程连接该数据库,则修改命令为:
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.25.%' IDENTIFIED BY '远程账户密码' WITH GRANT OPTION;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HGz5cUR6-1626136149290)(E:\Notes\Centos7安装MariaDB10.5.assets\image-20210530221749598.png)]
4.2、刷新权限,使改动生效:
MariaDB [mysql]> FLUSH PRIVILEGES;
第五步:MariaDB相关字符集编码配置
5.1、设置数据库字母大小写不敏感
[root@localhost ~]# vim /etc/my.cnf.d/server.cnf
进去后找到mysqld,在**[mysqld]**下加上:
#默认是等于0的,即大小写敏感;1代表不敏感。lower_case_table_names=1
5.2、设置MariaDB数据库默认编码
- 首先进入数据库查看现在的字符集
MariaDB [(none)]> SHOW VARIABLES LIKE 'character%';
- 可以看到有的编码集为latin1,这样的话插入中文会乱码,因此需要将编码改为utf8。
[root@localhost ~]# vim /etc/my.cnf.d/server.cnf
- 进去后找到mysqld,在**[mysqld]**下加上:
character-set-server=utf8
5.3、重启 MariaDB 配置生效
[root@localhost ~]# systemctl restart mariadb
第六步:CentOS 7 开放防火墙端口
如果不能远程连上数据库,应该就是3306端口被防火墙拦截,这时就需要关闭防火墙或者开放防火墙端口。
5.0、查看防火墙状态
[root@localhost ~]# systemctl status firewalld[root@localhost ~]# firewall-cmd --state
5.1、关闭防火墙:
- 停止firewall:
[root@localhost ~]# systemctl stop firewalld.service
- 禁止firewall开机启动:
[root@localhost ~]# systemctl disable firewalld.service
5.2、放防火墙端口,开启后要重启防火墙:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent[root@localhost ~]# firewall-cmd --reload
5.3、开启防火墙:
- 开启firewall:
[root@localhost ~]# systemctl start firewalld.service
- 允许firewall开机启动:
[root@localhost ~]# systemctl enable firewalld.service