linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问

Posted 安然亦智

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问相关的知识,希望对你有一定的参考价值。

  上篇中2G内存服务器安装sql server失败了,这里我尝试使用mysql进行数据存储,简单点,直接用yum命令安装(在CentOS下,可以直接通过yum命令来安装数据库);在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

1、创建mysql下载及安装目录(/usr/local/mysql)

 2、添加安装包

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

 3、安装/启动

#安装
sudo yum -y install mysql-community-server

#启动服务
sudo systemctl start mysqld

#查看版本信息
mysql -V

4、链接mysql并设置root密码

#1、查看MySQL为Root账号生成的临时密码
grep "A temporary password" /var/log/mysqld.log

#2、进入MySQL shell
mysql -u root -p

#3、修改密码
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'Mypwd123!\';

 5、开放端口(供远程链接mysql使用)

#开放端口
firewall-cmd --add-port=3306/tcp --permanent

#重新加载防火墙设置
firewall-cmd --reload

 报错,提示防火墙未运行,基于安全考虑,还是开启防火墙比较好;

①查看防火墙状态(systemctl status firewalld):目前是dead

 ②开启防火墙(systemctl start firewalld),关闭防火墙命令为:systemctl stop firewalld;

查看开放端口:firewall-cmd --list-ports

 开启之后再执行开放端口命令,开启成功之后,重新加载一次防火墙设置

 6、创建数据库及为该数据库配置远程访问账号(mysql80版本后不允许grant在授权的时候隐式创建用户,必须先创建用户)

#新建本地用户
CREATE USER \'test\'@\'localhost\' IDENTIFIED BY \'Test@123456\';

#新建远程用户
CREATE USER \'test\'@\'%\' IDENTIFIED BY \'Test@123456\';

#新建数据库
CREATE DATABASE testdb;

#赋予指定账户指定数据库远程访问权限
GRANT ALL PRIVILEGES ON testdb.* TO \'test\'@\'%\';

#赋予指定账户对所有数据库远程访问权限
GRANT ALL PRIVILEGES ON *.* TO \'test\'@\'%\';

#赋予指定账户对所有数据库本地访问权限
GRANT ALL PRIVILEGES ON *.* TO \'test\'@\'localhost\';

#刷新权限
FLUSH PRIVILEGES;

7、使用新创建的用户(已授权远程访问的用户),navicat for mysql远程链接:

 

 

 百度查找了下,出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,

那么直接修改登录用户的加密规则即可:

ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\' PASSWORD EXPIRE NEVER;#修改加密规则
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'password\'; #更新一下用户的密码 
FLUSH PRIVILEGES; #刷新权限

再次使用navicat链接,成功!

参考资料

https://cloud.tencent.com/developer/article/1333812

https://blog.csdn.net/seventopalsy/article/details/80195246

以上是关于linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7下MySQL8的二进制基本安装配置

Arm架构下CentOS7.6操作系统网络离线状态下安装MySQL8

CentOS7.6安装MYSQL8.0

CentOS7.6使用yum安装MySQL8.0

Centos7.6安装mysql8.0

阿里云服务器中Linux下centos7.6安装JDK