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链接,成功!
参考资料
以上是关于linux(CentOS7.6)下安装mysql8.0并使用navicat远程访问的主要内容,如果未能解决你的问题,请参考以下文章