通过yum在centos安装mysql并配置远程登录
前言
前天按照Oracle上的文档装了一遍mysql,选了最新8.0的版本,后来出现一些问题,网上搜答案,出来的基本还是5.x版本的解决方案,并不适用8.0版本。然后我就去看了一下公司的正式环境买的阿里云rds版本,5.7。既然如此,重新装一下5.7保持和正式环境一致是必须的了。但,我突然就有点好奇,为什么当时没有装6.0 或者7.0版本,毕竟跨了2个大版本。更奇怪的是,看了一下mysql的官方文档的版本列表,发现也没有6.0 or 7.0的文档。

这下就好玩了,为什么没有6.x,7.x。
网上搜了一下。

大意就是,6因为一些性能问题一下子没起来。然后Oracle收购了Sun,停止的6的开发,然后7相关的功能统一合并到了8里面去。所以,8就成了最新的重要版本。
言归正传
文档地址,注意是5.7版本。
安装部分
可以分为以下几步:
- 卸载之前的
- 安装新的
- 启动服务
卸载之前的版本。
yum erase mysql
选y,完成

完成之后检查一下
/etc/my.cnf和/etc/mysql如果还是存在,需要手动删除。发现多了一个my.cnf.rpmsave,rpm帮忙保存的,我们这里也不需要,可以直接删除。libaio是mysql的一个依赖项,可以先装一下(不过上次安装8.0的时候没有装,应该会自动装的)。libnuma是mysql中NUMA功能的一个依赖项,也一起先手动装一下算了。yum install libaio
yum install libnuma
通过地址根据自己的系统,选择自己需要的版本,我系统是centos7.5,所以选el7。 通过
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm下载到服务器上,保存地址随意。虽然名字是mysql80,这个只是表示默认启用的是8.0版本,里面其实包含好几个版本,后面可以配置启用的具体版本。sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm先安装rpm配置。yum repolist enabled | grep "mysql.*-community.*"看下是否已经添加成功。
出来的还是8.0的版本,下面配置一下禁用8.0,启用5.7。
sudo yum install yum-utils # 安装下面的yum-config-manager
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
再看一下yum启用的版本情况.
yum repolist enabled | grep "mysql.*-community.*"
然后就可以安装了。
sudo yum install mysql-community-server,报了一个错。需要5.7版本的common,安装的确是8.0版本的common。
上面的问题应该有两种选择
- 删除安装的8.0的common
- 使用提示的
--skip-broken参数配置来解决
先试一下第一种。
yum erase mysql-community-common删除完成。重新尝试安装。sudo yum install mysql-community-server。没有报错,按y继续安装。done。启动服务。centos7推荐使用
systemctl start mysqld.service。哈哈,失败了~~
如果是全新安装应该是不会有问题的,根据提示看下错误情况。

根据提示去搜一下原因。搜了一下,是由于原先装过8.0,然后创建了数据导致的,这里直接删掉就可以了。然后启动服务,没有报错。

看一下服务状态
sudo systemctl status mysqld.service,running。
设置部分
分为以下几个部分:
- 设置root用户密码
- 创建用户,设置密码,分配权限。
- 配置远程连接。
mysql 服务第一次启动,会自动做以下几件事情.
- 启动服务。
- 在数据目录(/var/lib/mysql)生成ssl证书和秘钥文件
- 安装并启用validate_password插件。这个插件默认启用,他要求密码至少8位,并且要求有一个大写,一个小写,一个数字,以及一个特殊字符。
- 创建了
'root'@'localhost'这个用户,密码存到/var/log/mysqld.log中。
查看一下密码。
sudo grep 'temporary password' /var/log/mysqld.log
通过临时密码登录,然后修改临时密码。
mysql -u root -p

修改成功。用新密码登录然后试试语句是否可以执行。没有问题。

登录mysql然后创建一个用户用于远程登录。
CREATE USER 'root1'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxxxx';。%表示任意地址可以连接。xxx是具体的密码,要符合上面的密码规则。密码的验证方式是mysql_native_password。
下面分配权限.
grant all privileges on *.* to 'root1'@'%'把所有权限分配给root1用户。第一个星号表示数据库名。所以一般来说可以先用root创建一个数据库,然后把这个库的所有权限分配给用户root1.分配了之后要刷新一下权限配置。FLUSH PRIVILEGES

创建好之后,mysql默认用的3306端口,所以要开启一下服务器的3306端口防火墙。
firewall-cmd --zone=public --add-port=3306/tcp --permanent,如果提示FirewallD is not running表示防火墙服务器没有启动,可以按需要启用与否。然后需要重新加载一下防火墙配置。firewall-cmd --reload本地端口启用之后,需要设置阿里云的安全组规则。

然后试试是不是可以远程连上,这里用dbeaver,跨平台,安利一下~

连接上试试查询,建表之类的操作,成功。

大功告成。
通过yum在centos安装mysql并配置远程登录的更多相关文章
- CentOS安装mysql并配置远程访问
最近上班挺无聊,每天就是不停的重启重启重启,然后抓log.于是有事儿没事儿的看卡闲书,搞搞其他事情. 但是,公司笔记本装太多乱其八糟的东西也还是不太好. 于是,想到了我那个当VPN server的VP ...
- CentOs安装Mysql和配置初始密码
mysql官网yum安装教程,地址:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-fresh-install ...
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- CentOS7安装MySQL并设置远程登录
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1 下载并安装MySQL官方的 Yum Re ...
- CentOS7安装MySQL并允许远程登录
下载 mysql 源安装包 $ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装 mys ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- centOS安装Mysql指南
centOS安装Mysql指南 说明:使用操作系统centOS6.4 32位系统:mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz; 一.准备 下载mysql ...
- 阿里云服务器 CentOS 安装Mysql 5.6
下载:https://dev.mysql.com/downloads/file/?id=471181 第一步: 安装mysql5姿势是要先安装带有可用的mysql5系列社区版资源的rpm包 [ro ...
- CentOS安装MySQL详解 转
引言 最近某云搞活动,买了个服务器作为平时学习和测试用,新机器啥也没有,一些常用软件的安装是免不了的,于是乎想着把安装过程都详细记录下来,一是做个备忘,二是给有需要的同学作个参考. Linux上安 ...
随机推荐
- CVE-2019-0708漏洞复现
前言: 该漏洞前段时间已经热闹了好一阵子了,HW期间更是使用此漏洞来进行钓鱼等一系列活动,可为大家也是对此漏洞的关心程度,接下里就简单的演示下利用此漏洞进行DOS攻击.当然还有RCE的操作,这只演示下 ...
- Mac-关于升级macOS Catalina后,终端试用问题
xcrun: error 在终端输入 git clone *****后,提示: xcrun: error: invalid active developer path (/Library/Develo ...
- LeetCode刷题191124
博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 算法: 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插 ...
- GIL以及协程
GIL以及协程 一.GIL全局解释器锁 演示 ''' python解释器: - Cpython c语言 - Jpython java 1.GIL:全局解释器锁 - 翻译:在同一个进程下开启的多个线程, ...
- 12c Data guard Switchover Best Practices using SQLPLUS (Doc ID 1578787.1)
12c Data guard Switchover Best Practices using SQLPLUS (Doc ID 1578787.1) APPLIES TO: Oracle Databas ...
- OOAD 面向对象的分析与设计
OOAD 面向对象的分析与设计 OOA-----分析阶段(针对业务问题清晰视图, 列出系统完成任务, 整理业务的公共词汇, 列出解决业务的解决方法) O ...
- [译]Vulkan教程(25)描述符布局和buffer
[译]Vulkan教程(25)描述符布局和buffer Descriptor layout and buffer 描述符布局和buffer Introduction 入门 We're now able ...
- Spring Cloud Alibaba 实战(十二) - Nacos配置管理
本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理 ...
- spring一个标准的xml文件头
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- JS MD5 返回二进制格式
今天靠大佬的帮助,成功的解决了一个弄了好久的问题.起因就是我们要对一个手机号进行加密. 加密方式是把一个字符串进行MD5加密之后,得到原始 16 字符二进制格式.然后把得到的这个字符作为AES的key ...