Linux下mysql 8.0安装教程

转自:https://www.jb51.net/article/146677.htm

转自:

准备工作:

mysql8.0 rpm文件

测试工具(比如 idea的database工具)

安装步骤:

1. 下载mysql的repo源,下载地址:

进入Linux系统,输入指令:

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

2.安装mysql-community-release-el7-5.noarch.rpm包

输入指令:sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3.安装mysql

输入指令:sudo yum install mysql-server

根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

4. 登录时有可能报这样的错:ERROR2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

输入指令:mysql -u root

输入指令:sudo chown -R root:root /var/lib/mysql

输入指令:service mysqld restart

等重新完成后在输入mysql -u root 就可以看到如下,但是现在又提醒密码错误的信息,输入指令获取随机密码

生成随机密码

输入指令:grep 'temporary password' /var/log/mysqld.log

当我去查询用户的时候报这个错误:You must reset your password using ALTER USER statement beforeexecuting this statement

大致意思是说:在执行此语句之前,必须使用ALTE USER语句重设密码。

然后我执行修改密码的操作:alter user user() identified by "rootA@123";

(当密码简单时)又报:Your password does not satisfy the current policy requirements

大致意思是说:您的密码不符合当前的策略要求(密码必须包含数字、字母大小写,特殊字符rootA@123,满足)。

注意:如果只想设置简单密码需要修改两个全局参数:

mysql> set globalvalidate_password_policy=0;

mysql> set globalvalidate_password_length=1;

(这里我没过试,不知道是否可用,我用的复杂密码)

二、远程连接

1、 改表发。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"

?

1

2

3

mysql -u root -pvmwaremysql>use mysql;

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

mysql>select host, user from user;

2、授权法

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

?

1

2

3

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH

  GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

 这里我使用了改表发,执行授权法一直报错,我不知道是不是因为我MySQL8.0的原因。

 然后重启服务:service mysqld restart

这里我是使用的idea自带的一个database工具进行测试连接,连接成功。

到这里,整个MySQL8.0就安装完成了。

二、远程连接,转自:https://blog.csdn.net/lizy928/article/details/82531749

访问成功,但是在利用SQLyog工具连接出现了问题

出现这种现象的原因有两个,一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被被防火墙禁掉,无法连接到该端口。解决方法如下:
1,设置所有主机都可以访问,关闭防火墙

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

mysql8.0无法给用户授权或提示You are not allowed to create a user with GRANT的问题

提示意思是不能用grant创建用户,mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权,命令如下:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'Hadoop3!';
Query OK, 0 rows affected (0.04 sec)

mysql> grant all privileges on *.* to 'root'@'%';
Query OK, 0 rows affected (0.03 sec)

另外,如果远程连接的时候报plugin caching_sha2_password could not be loaded这个错误,可以尝试修改密码加密插件:

mysql> alter user 'root'@'%' identified with mysql_native_password by 'Hadoop3!';

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值