当前位置: 首页 > news >正文

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

**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、 确认下载安装

**2.4、**安装完成

此时执行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,然后回车

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

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

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

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

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

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

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

输入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 上想要安装mysql,最后安装了Mariadb的过程,做笔记备查,希望能给跟我一样的小白提供一定帮助,如有错漏,欢迎指正!!!

最后

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

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

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

相关文章:

  • visual studio 2019创建dll项目备忘
  • STM32F407 芯片的学习 day02 , led模块, key 模块, beep 模块
  • 如何制作一个体温收集表
  • X-VLM: Multi-Grained Vision Language Pre-Training
  • 顺丰快递:请签收MySQL灵魂十连
  • vue实现刷新页面随机切换背景图【适用于登陆界面】
  • CentOS7卸载Nginx、最后有命令总结
  • (39)STM32——FLASH闪存
  • IDEA安装Tomcat
  • 【保姆式通关宝典】使用Kraft快速搭建Kafka集群(含服务鉴权)
  • 如何判断BUG是前端BUG还是后端BUG
  • HTTP协议和Tomcat服务器
  • 前端基础(四十二):SVG入门
  • 【.Net实用方法总结】 整理并总结System.IO中StringReader类及其方法介绍
  • Dapr 的 gRPC组件(又叫可插拔组件)的提案
  • java2019面试题北京
  • javascript面向对象之创建对象
  • java多线程
  • Js基础——数据类型之Null和Undefined
  • Laravel 实践之路: 数据库迁移与数据填充
  • Python 反序列化安全问题(二)
  • select2 取值 遍历 设置默认值
  • TypeScript迭代器
  • vue-cli3搭建项目
  • 彻底搞懂浏览器Event-loop
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 记录:CentOS7.2配置LNMP环境记录
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端自动化解决方案
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 全栈开发——Linux
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 提醒我喝水chrome插件开发指南
  • 阿里云服务器如何修改远程端口?
  • ​【已解决】npm install​卡主不动的情况
  • "无招胜有招"nbsp;史上最全的互…
  • #QT项目实战(天气预报)
  • #每日一题合集#牛客JZ23-JZ33
  • (06)金属布线——为半导体注入生命的连接
  • (C语言)fgets与fputs函数详解
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (四) Graphivz 颜色选择
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @JsonFormat与@DateTimeFormat注解的使用
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • []Telit UC864E 拨号上网
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [autojs]逍遥模拟器和vscode对接
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C++进阶篇]STL中vector的使用