• 阿里云CentOS7部署MySql8.0


    本文主要介绍了阿里云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 已经结束;

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

     

  • 相关阅读:
    cookie处理函数练习(为我所写,非我所想:改善面向对象)
    TypeScript的4种编译方式
    如何调用外部的Web API
    Json to JObject转换的使用方法
    Json.NET读取和写入Json文件
    XTemplate语法基础
    node.js xtemplate的使用实例
    node.js express安装及示例网站搭建
    各大互联网公司前端面试题(HTML/CSS)
    各大互联网公司前端面试题
  • 原文地址:https://www.cnblogs.com/xrzs/p/9463059.html
Copyright © 2020-2023  润新知