centos通过yum安装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-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,跨平台,安利一下~

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

大功告成。
centos通过yum安装mysql的更多相关文章
- centos使用yum安装mysql
		
参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/dow ...
 - centos 7 yum 安装 mysql  glib 安装 mysql
		
centos 7 YUM 在线安装版 1.wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 下载 2.rpm ...
 - 腾讯云服务器centos通过yum安装mysql数据库
		
安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...
 - 阿里云,CentOS下yum安装mysql,jdk,tomcat
		
首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...
 - CentOS下yum安装mysql,jdk以及tomcat
		
首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...
 - 【Centos】yum安装MySQL
		
安装步骤 1. 点击此处下载MySQL的YUM源 -- [ MySQL RPM] 选择适合你平台的rpm,我的是centos7 2. 安装MySQL的yum源,即RPM sudo yum locali ...
 - CentOS用yum安装MySQL 8.0 .
		
先说一句,fuck,搞了一下午. 步骤:一:安装yum源: 1.wget https://dev.mysql.com/get/mysql80-community-release-el6-3.noarc ...
 - CentOS下yum安装mysql
		
其实跟windows下安装过程差别不大,就是下载为了方便使用了yum的方式.安装前先确认下系统是否还安装mysql,卸载是否不完全,再去官网(http://dev.mysql.com/download ...
 - centos 使用yum安装MySQL 5.7
		
想在centos上安装一个MySQL,使用yum install mysql-server 安装提示仓库没有包,也是醉了. 找了很多博客,发现一个很好用的,推荐给大家. 地址:https://blog ...
 
随机推荐
- Java基础-工厂设计模式(三锅的肥鸡)
			
---恢复内容开始--- 1)还没有工厂时代:假如还没有工业革命,如果一个你要一架飞机,一般的做法是自己去建造一架飞机,然后拿来开 通常的结果就是 有些时候 要么专科螺钉 没打好 要么就是 那个 ...
 - 华盛顿邮报:FBI 屡次夸大了“手机加密威胁”的数字
			
<华盛顿邮报>周二报道称,美国联邦调查局(FBI)严重夸大了由加密手机所造成的问题.以去年为例,该机构调查人员声称被大约 7800 部涉嫌犯罪活动的加密设备挡在了门外,而准确的数字应该在 ...
 - mysql5.7连接不上可能的问题(针对新安装的mysql5.7可能出现的问题)
			
"ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)" 今天刚刚安装好的mysql5. ...
 - 对图片进行索引,存入数据库sqlite3中,实现快速搜索打开
			
对图片进行索引,存入数据库中,实现快速搜索打开 这个任务分为两步: 第一步:建立索引 import os import shutil import sqlite3 # 扫描函数,需扫描路径目录处 ...
 - frida的用法--Hook Java代码篇
			
frida是一款方便并且易用的跨平台Hook工具,使用它不仅可以Hook Java写的应用程序,而且还可以Hook原生的应用程序. 1. 准备 frida分客户端环境和服务端环境.在客户端我们可以编写 ...
 - Android编译自己的程序到/system/bin
			
背景 有时候我们想创建一个程序,放在系统中,供其他APP执行.我们知道,在生成system.img的时候,编译系统会将out/target/product/[product]/system/bin目录 ...
 - 『简单dp测试题解』
			
这一次组织了一场\(dp\)的专项考试,出了好几道经典的简单\(dp\)套路题,特开一篇博客写一下题解. Tower(双向dp) Description 信大家都写过数字三角形问题,题目很简单求最大化 ...
 - Redis--Memched--Cache缓存介绍使用
			
目录: 一.分布式缓存—Redis与Memched的区别 1.1. 数据支持类型 1.2. 持久性 1.3. 内存利用情况 1.4. 数据一致性 1.5. ...
 - 如何使用AWS和Azure的配置存储服务保存读取配置
			
原文:Want to yank configuration values from your .NET Core apps? 作者:pauljwheeler 译文:https://www.cnblog ...
 - 强化学习(十五) A3C
			
在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...