linux安装mysql8.0及开启远程访问

时间:2022-04-18 16:39:17

第一步:获取mysql8.0的yum源

    

      进入mysql官网获取RPM包下载地址

https://dev.mysql.com/downloads/repo/yum/

         linux安装mysql8.0及开启远程访问

        点击下载后,

        linux安装mysql8.0及开启远程访问

            右键复制链接地址     https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

            这个就是下载地址。

第二步    下载和安装mysql源

      未安装wget指令,需要先安装。

      yum -y install wget     

      安装成功之后,下载mysql源

      然后执行 wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

      下载完毕之后,安装mysql源

      yum -y localinstall mysql80-community-release-el7-11.noarch.rpm

第三步:在线安装Mysql

      yum -y install mysql-community-server

      下载的东西比较多 要稍微等会;

第四步:启动Mysql服务

      systemctl start mysqld

第五步:设置开机启动

       systemctl enable mysqld

       systemctl daemon-reload

第六步:修改root本地登录密码

      mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。

      [root@localhost ~]# vi /var/log/mysqld.log

      发现有一个临时密码  k>Ey>8bCws=s

      此时需要修改为自己的密码

      linux安装mysql8.0及开启远程访问

      输入临时密码之后,

      ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qigaoxiang2018@';  注意:名字必须有大写字母,数字和特殊符号

第七步:设置允许远程登录和开启防火墙

     Mysql默认不允许远程登录,所以需要开启远程访问权限

     可以先查看user表

     select user,authentication_string,host from user;

     linux安装mysql8.0及开启远程访问

     默认都是localhost

     update user set host = '%' where user = 'root';

      linux安装mysql8.0及开启远程访问

      此时root的host是所有都可以了

      然后刷新修改,FLUSH PRIVILEGES;

      这步一定要做,否则无法生效。

      然后开启防火墙

      

      [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

      success

      [root@localhost ~]# firewall-cmd --reload

      success

      [root@localhost ~]#

第八步 : 配置默认编码为utf8

     

      修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

      [mysqld]

      character_set_server=utf8

      init_connect='SET NAMES utf8'

      linux安装mysql8.0及开启远程访问

      

      编辑保存完 重启mysql服务;

      [root@localhost ~]# systemctl restart mysqld

      [root@localhost ~]#

      查看下编码:

      mysql> show variables like '%character%';

      linux安装mysql8.0及开启远程访问

      可以看出已经改为utf8字符了

     至此,通过本地如果仍然访问不了,可能是mysql第三方客户端版本太低,不支持mysql8.0的加密方式。

        如何处理参见:https://www.cnblogs.com/goxcheer/p/9420538.html