MySql8尝鲜,修改密码,远程链接,jdbc驱动

打开Mysql官方yum安装向导:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/


先去下载最新版mysql的仓库(某些英文不太好的童鞋会懵逼,点击下图标识地方即可下载,楼主是在Centos7系统里安装的,系统不一样的童鞋需自行选择下载地址)



下载完后  上传到虚拟机里,这里上传路径为:/usr/etc/mysql80-community-release-el7-1.noarch.rpm

切换目录 并安装源:

cd /usr/etc

 yum localinstall mysql80-community-release-el7-1.noarch.rpm

关闭mysql5.7:

 yum-config-manager --disable mysql57-community

开启mysql8:

yum-config-manager --enable mysql80-community

接下来可以执行安装了:

yum install mysql-community-server

一路执行下去后 就可以成功安装了mysql8。

启动mysql:

service mysqld start

查看mysql初始化的密码(使用此密码登录后,需尽快修改密码,不然很快就登录失效,具体多久我也不太清楚......)

grep 'temporary password' /var/log/mysqld.log

然后用显示出来的密码 登录mysql。

此处必须使用官方指定的修改密码方式来修改密码,楼主用了之前setpassword那种方式 以及百度出来的其他方式都不行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

修改完密码后试下重新登录 正常。接下来是重头戏:

设置远程登录:grant all privileges  on *.* to root@'%' identified by "password";

这句话根本无法执行!

使用:

use mysql;

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

这样还没完,远程依然无法登录,百度其他各种在sql上设置的要么无法执行,要么无效。

只能修改配置文件了:

修改/etc/my.cnf   在[mysqld]下添加:bind-address=0.0.0.0

这里是做测试用,允许任何IP链接

重启mysql   

systemctl restart mysqld.service

至此mysql终于可以远程链接了,用Mysql workbench链接的童鞋会发现 之前用的好好的workbench,现在不能链接mysql8了。原因版本不兼容了。需安装最新版,这里又是一个坑,mysql官网找了一圈 没有workbench8版本。

需要卸载当前的workbench(必须卸载,不然安装不上最新版),然后下载并安装最新版Mysql安装器,下载地址:https://dev.mysql.com/downloads/installer/


这里只有32位的下载链接,上面已经注明:32位的在64位的机器上安装 就是64位的了。

下载完后,按需安装就OK了  这里不多讲了。继续下一个坑。

使用java jdbc远程链接mysql8,发现报错:

Unable to load authentication plugin 'caching_sha2_password'

这是个什么鬼?之前没遇到过呀,于是乎百度一番。有之前的前辈在老版本中遇到过此类错误,抱着试试看的态度试下:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root1';

后面的那个“root1”为mysql的登录密码,需改为自己上门设置的密码。

然后flush privileges;

再次跑起java项目,这时项目已经可以成功跑起,说明jdbc链接正常了。

至此 还是不死心 看看还有没别的坑,于是把公司项目的数据库导进去,然后把项目jdbc链接指向mysql8,项目运行,随便访问几个页面看看,果不其然 又报错了:

Expression #1 of ORDER BY clause is not in SELECT list, contains aggregate function; this is incompatible with DISTINCT

虽然看出来不是什么严重问题,可以通过修改sql语句搞定,但懒得弄了,本来就想看看新版本好不好用,好用的话公司新项目就用新版本了,现在发现新版的Mysql坑还是不少,到时万一遇到比较深的坑,就坑爹了。

还是观望段时间再看吧。

猜你喜欢

转载自blog.csdn.net/shengfakun1234/article/details/80143428