本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录;

环境、工具、准备工作

  • 服务器:阿里云CentOS 7.4.1708版本;
  • 客户端:Windows 10;
  • SFTP客户端:FileZilla;用来进行文件传输;
  • SSH工具:Putty;用来在Windows 上远程访问CentOS;
  • 下载文件;

因为最新的CentOS7放弃了对MySQL的支持,所以需要我们到MySql官网下载mysql的repo源(官方地址)默认下载第一个就行;

开始安装MySql8.0

1.环境初始化

使用putty连接阿里云CentOS;并根据相关提示输入账户密码登录即可(建议以root权限登录)如下图:

如果服务器原来有安装MySQL请先卸载清除;

使用下面命令查找出当前服务器安装的MySql的安装和依赖包名称;如果你的阿里云是新的,请跳过删除环节;

rpm -pa | grep mysql

使用删除命令依次删除上面命令查询出的结果;我的服务器是新的,所以并没有安装和依赖包;

yum remove mysql-xxx-xxx
mysql-xxx-xxx 指的是你用rpm -pa | grep mysql查询出来的结果的完整名称;

用如下命令查找到配置文件所在路径;

find / -name mysql

因为是新服务器,所以并没有过多的配置信息;

删除命令,根据你服务器具体情况判断是否使用;

rm -rf /xxx/xxx/xxx
/xxx/xxx/xxx指的是你用find / -name mysql查询的完成目录路径如:/etc/selinux/targeted/active/modules/100/mysql;
网上很多资料说需要删除mariadb,阿里云的CentOS并没有集成,所以不需要删除mariadb,如你环境需要,请自行百度;

2.安装MySql8.0

使用putty或FileZilla工具将你下载的mysql repo文件上传到Centos系统/usr/local/mysql文件夹下;

putty上传如下:

pscp mysql源文件的物理地址 root@xxx.xxx.xxx.xxx:/usr/local/mysql/
putty请在Windows的命令行工具中使用pscp命令上传; xxx.xxx.xxx.xxx指的是阿里云的服务器地址,mysql的源文件地址是下载到你本机的物理地址;

FileZilla工具上传如下图:

使用命令行安装MySql yum repo文件,并更新缓存信息;

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

使用以下命令清理缓存和临时文件;

yum clean all

使用命令安装MySql:

yum install mysql-community-server

等候网络下载安装MySql;如果有Is this ok [y/N]: 提示 输入y就行;

用命令开启MySQL服务

systemctl start mysqld.service

成功启动MySQL服务后,用命令打开/var/log/mysqld.log文件;MySQL安装后会默认创建一个root@locahost账户,并把原始密码存放在mysqld.log文件中;

cat /var/log/mysqld.log | grep password

用上面的密码登录MySql;

mysql -u root -p

请注意大小写及特殊字符;如果有提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)表示你密码输入不正确;

登录成功的第一件事当然是修改密码了;

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

此处要注意MySQL8.0 修改了密码规则,必须要有大小写,数组及特殊字符组成;

提示Query OK, 0 rows affected (0.08 sec)表示修改成功;可以quit命令重新登录试试;使用如下命令查询我们的MySql是否安装正确;

select version();

看到这里,恭喜,你已经成功的将MySql安装到了阿里云CentOS7上;

3.使用MySql管理工具访问MySql

我使用的是SQLYog工具,导航猫的配置也一样;

使用命令开启CentOS的防火墙;

systemctl start firewalld.service

开放MySql 3306端口;

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启firewall

systemctl restart firewalld.service

将MySql服务加入到开机启动项,并重启MySql服务;

systemctl enable mysqld.service
systemctl restart mysqld.service

此时你还无法使用工具访问MySql,会提示2003错误;因为MySQL默认是不能进行远程访问的,需要我们去设置,操作如下:

mysql -u root -p;
use mysql;
update user set host='%' where user='root';

授权MySql远程访问;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

现在我们尝试使用工具去连接MySql还是会提示2003错误;各种百度后发现是阿里云安全规则限制;

修改阿里云的安全规则,开放3306端口;

再次尝试连接发现提示2058错误,上面已经说了,MySql 8.0 以后修改了密码规则;所以我们得修改一下规则;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

你的密码指的是你重新设置的密码,一定要符合MySql 8.0的密码要求;否则会设置失败;

刷新下权限

FLUSH PRIVILEGES

至此,阿里云CentOS7安装MySql8.0 已经结束;

如果这篇博文对你有所帮助,麻烦动动手指点个赞^-^

阿里云CentOS7部署MySql8.0的更多相关文章

  1. 阿里云 centos7 安装MySQL8.0.13

    1.下载MySQL安装包(这里是有技巧的,说不定我这时写这个的时候版本还是你看到时的旧版本了,如果已经不是8.0了,可以根据这样来 下新版本) 先进入官网 再将这两者一结合,就是最新版本的了 所以 [ ...

  2. 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  3. 阿里云CentOS7部署ASP.NET Core

    本文主要介绍了阿里云CentOS7下如何成功的发布ASP.Core应用并使用nginx进行代理, 并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云64位CentOS 7.4.1708版本; ...

  4. 阿里云 Centos7 部署 Django 项目

    前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...

  5. 阿里云centos7安装mysql8数据库

    一.安装mysql 1. mysql官网查找仓库源镜像,选择downloads https://www.mysql.com/downloads/ 2. 找到社区版 3. 选择yum仓库 4. 选择对应 ...

  6. 阿里云 CentOS7安装redis4.0.9并开启远程访问

    1 安装redis编译的c环境 yum install gcc-c++ redis是c语言开发的,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境. 如果没有gcc环境,需要安装gcc ...

  7. 阿里云Centos7部署私人CSGO服务器

    大四毕业生,论文和答辩分别以1.8%的重复率和只答不辨的态度双双过关.现在就是在家等着学校发毕业证了.顺带学学驾驶...可是我这么一个喜欢折腾的人,怎么能够让自己接受这么无聊的咸鱼时光呢?因为这个寒假 ...

  8. 阿里云esc 安装 mysql8.0

    打开 连接工具,我用的是 MobaXterm_Personal_12.1 (官网下载地址:https://moba.en.softonic.com/) 连接到 ecs,然后移除 默认的 mariadb ...

  9. 在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

    上次在网上找了一个在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4的文档,可能是这个文档不是最新版的,安装的时候遇到了很多问题, 最后跟一个大神要了一 ...

随机推荐

  1. 瞥了一眼js

    JS打开超链接的几种形式1.window.open(''url'') 2.用自定义函数<script>function openWin(tag,obj){obj.target=" ...

  2. 网络爬虫入门(二)模拟提交以及HttpClient修正

    模拟提交就是说我们不自己登陆到客户端,仅仅靠发送请求就模拟了客户端的操作,在现实使用的时候经常用来接收一些需要登录才能获取到的数据,来模拟表单的提交,所以很多时候也被称作虚拟登录,这次的例子是我自己为 ...

  3. visio 修改画布大小

    按住Ctrl,鼠标移到画布边缘,拖拉即可.

  4. August 20th 2017 Week 34th Sunday

    Life is not a race, but a journey to be savored each step of the way. 生活不是一场赛跑,而是每一步都应该细细品尝的人生旅程. No ...

  5. iOS开发之UIView

    在iPhone里你能看到的.摸到的,都是UIView. 视图坐标系统: UIKit中的坐标都是基于这样的坐标系统:以左上角为坐标的原点,原点向下和向右为坐标轴方向. 坐标值由浮点数来表示,内容的布局和 ...

  6. iOS中 Proxy和的delegate区别

    在ios中使用proxy代理模式,经常容易和delegate委托模式混淆. 委托模式(delegate),是简单的强大的模式,可让一个对象扮演另外对象的行为.委托对象保持到另外对象的引用,并在适当的时 ...

  7. ClassNotFoundException: INameEnvironment

    springboot兼容jsp启动是报错,ClassNotFoundException: INameEnvironment 降低springboot版本即可,原版本1.5.10,降为1.5.2可使用

  8. mysql 数据增删改查基本语句

    增: insert insert into 表名(字段1,字段2,字段3......字段N) values(值1,值2,值3): 如果不申明插入那些字段,则默认所有字段. 如果一次可以插入多条数据 可 ...

  9. LayIM.AspNetCore Middleware 开发日记(五)Init接口实现细节

    前言 “一旦开始了就要坚持下去“.为什么本文的第一句话是这么一句话呢,因为我经常就是开头轰轰烈烈,结果越来越枯燥,就不想做下去了.但是版图就放弃又那么不甘心,继续加油吧. 吐槽完毕,进入正题.在上一篇 ...

  10. Sublime插件WakaTime使用

    1.安装WakaTime插件 ctrl+shift+p-->输入pi-->回车-->输入wakaTime-->回车(进行安装) 安装好后会显示输入api key的输入栏 (也可 ...