CentOS 7 安装mariadb

新手,以前完全没玩过,走了很多弯路,感觉有必要做个笔记备忘

开发互联网项目首先想到的数据库一般就会是mysql,以及他的衍生数据库,包括很多有经验的朋友也会给你推荐使用mysql

(以下内容中部分图片来自网友提供,感谢无私奉献的朋友们!)

坑一:CentOS 7不能再用开源的MySql了,应该安装Mariadb

解决办法:

一顿操作猛如虎,发现我是250,买了个华为云服务器(CentOS 7),直接下载mysql包,解压,安装,按照网上的帖子一步步操作,直到最后卸载了mysql,因为CentOS 7上不能再安装开源的mysql了(也就是不能用免费的了o(* ̄︶ ̄*)o),你想要的可能是安装mariadb!

【mariadb安装步骤】:

1、准备工作

**1.1、**确保你的linux服务器外网是通的,方法很简单,ping www.baidu.com

CentOS 7 安装mariadb_第1张图片

**1.2、**查看已安装的包

命令:rpm -qa | grep mysql

**1.3、**如果存在已安装,逐个卸载掉这些包

命令:rpm -e --nodeps mariadb-xxxx。。。。

全部卸载完后执行1.2的命令确认卸载干净。

2、安装mariadb

**2.1、**安装

命令:yuminstall mariadb-server

2.2、 如果下载不成功,清理安装文件

命令:yum clean all

2.3、 确认下载安装

CentOS 7 安装mariadb_第2张图片

**2.4、**安装完成

CentOS 7 安装mariadb_第3张图片

此时执行1.2的命令,可以查看安装的内容!

3、 数据库常用命令
命令:
1. 启动命令 systemctl start mariadb
2. 重启命令 systemctl restart mariadb
3. 关闭命令 systemctl stop mariadb
4. 开机自起 systemctl enable mariadb
5. 关闭自起 systemctl disable mariadb

**4、**初始化数据库

**4.1、**执行命令:mysql_secure_installation

提示输入root用户密码

安装后初次进入,密码为空,直接回车就可以了 !

**4.2、**设置root用户密码

然后弹出是否设置root用户密码,输入y,然后回车

CentOS 7 安装mariadb_第4张图片

输入新密码,回车后在重复输入确认密码,回车完成密码设置,然后弹出是否删除匿名用户,输入y,回车完成匿名用户删除

**4.3、**删除匿名用户

CentOS 7 安装mariadb_第5张图片

**4.4、**允许root远程登录

CentOS 7 安装mariadb_第6张图片

输入y,回车,允许root远程登录,然后选择是否删除test测试库

**4.5、**删除test测试库

CentOS 7 安装mariadb_第7张图片

输入y,回车,删除test库,然后选择是否新加载权限

**4.6、**重新加载权限

CentOS 7 安装mariadb_第8张图片

输入y,回车,安装完成!

坑二、数据库远程连接需要的两个配置(数据库允许用户远程访问、防护墙上要将数据库端口3306设置成ACCEPT)

解决办法:

一、解决用户远程登录

(一)、执行命令:mysql -u root -p
提示输入root用户密码,输入后回车,成功登录Mariadb,

(二)、执行命令:GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’ IDENTIFIED BY ‘你的root密码’ WITH GRANT OPTION;

二、解决防火墙问题

在网上查询到需要修改/etc/sysconfig/iptables配置文件,文件中默认放开了22端口,复制后粘贴在这条配置的下面(有网友说只能在下面,上面不行,我没验证),并修改端口为3306,如下:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

!!!!可实际我们在我们打开/etc/sysconfig目录后就迷路了,因为没有找到iptables这个文件,有一个iptables-config的文件,我想到是不是操作系统版本问题,打开后发现配置和网友的帖子完全对不上,这是坑的关键,CentOS 7的默认防火墙是firewall 防火墙,不是ptables防火墙,我的解决办法是先修改防火墙为iptables,步骤如下:

1、停止 firewall 服务

systemctl stop firewalld

2、注销 firewall 服务

systemctl mask firewalld

3、安装 iptables 服务

yum install -y iptables
yum install iptables-services

4、启动 iptables 服务

systemctl start iptables
或者
service iptables start

5、设置 iptables 开机自启动

systemctl enable iptables

6、查看 iptables 状态

systemctl status iptables
或者
service iptables status

7、此时/etc/sysconfig/iptables已经存在了

按上面的办法修改/etc/sysconfig/iptables,如下

。。。省略其他内容。。。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
。。。省略其他内容。。。

坑三、云服务器需要防火墙端口穿透

经过上面一顿折腾,理论上已经可以在自己电脑上用Navicat等工具连接数据库了,遗憾的是仍然连不上,找了半天,突然灵光一现,想到我最开始说的场景,我是买的一个云服务器,应该是云上的端口没有穿透进去,登录云管理平台的管理端,做一个端口映射,让外面能穿透到3306端口完美解决!
CentOS 7 安装mariadb_第9张图片

以上是我在CentOS 7 上想要安装mysql,最后安装了Mariadb的过程,做笔记备查,希望能给跟我一样的小白提供一定帮助,如有错漏,欢迎指正!!!

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

你可能感兴趣的:(面试,学习路线,阿里巴巴,centos,linux,mariadb,开发语言,jar)