mysql5.5换成mysql8.0
Posted 我本成魔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql5.5换成mysql8.0相关的知识,希望对你有一定的参考价值。
由于在建表钟发现有些语句就是录不进去,研究发现是因为5.5版本过低导致,就想换到5.7版本,结果一看8.0都出了,据官方说明8.0要比5系列快2倍网上,遂直接换成8.0了,不过这个过程真的心累。
1、卸载
首先把mysql文件目录下的mysql5.5中的data文件放到其他地方保存,然后通过360等软件卸载就行了(我之前用的是安装版的),压缩版的写在请点击这里
2、下载 解压缩
到mysql官网 http://dev.mysql.com/downloads/mysql/ 下载mysql
上面的为压缩版,下面的为安装版。我一开始是下载的安装版,但是安装了数次虽然查得到数据库但是各种问题不能net start mysql......最后我终于放弃了安装版
然后就开启了压缩版之路,本来以为很简单的事,但我的电脑真的是不争气啊,真的是比女朋友还难哄……2333
下载压缩版后,解压到C:\\Program Files\\MySQL\\mysql-8.0.12-winx64
3、配置环境变量
然后要配置环境变量
变量名:MYSQL_HOME
变量值为mysql的bin路径:C:\\Program Files\\MySQL\\mysql-8.0.12-winx64\\bin
然后在path目录下编辑添加一个 %MYSQL_HOME% 注意前后衔接要加 ;
4、修改配置文件
解压之后是没有my.ini文件的,这时候要手动加一个
创建txt文件然后写入
[mysqld] #skip-grant-tables # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\\Program Files\\MySQL # 设置mysql数据库的数据的存放目录 datadir=E:\\database\\MySQL\\Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
然后把文件重命名为my.ini就好了,此文件放在MYSQL目录下
5、安装
以管理员权限打开cmd
直接cd C:\\Program Files\\MySQL\\mysql-8.0.12-winx64\\bin进入bin目录
接着输入mysqld -install看到安装成功之后,就可以测试了
输入mysqld –initialize 可以生成随机初始密码,这里千万要记录在文档中,因为马上就要进入数据库了
输入mysql -uroot -p 输入密码(就是刚才生成的)进入就基本ok了,我当时不知道为什么,怎么输入那个密码就是不行,只有通过把my.ini文件配置下的[mysqld]加一句配置
skip-grant-tables
来跳过输入密码。(我看很多博文,都是可行的,我不知道为什么我的怎么配置都不行,我按照很多博文提供的方法试了一遍,都不能进去,最后我只有删干净,又重装了,再重装了N遍了之后终于好
使了)
输入net start mysql就可以看到开启,net stop mysql关闭
在我能连接上数据库之后,重启电脑,又不行了,报错
按照这个博文,问题终于解决了
navicat连接nysql出现1251Client does not support authentication protocol requested by server的解决方案
终于能用上了,开心
以上是关于mysql5.5换成mysql8.0的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLException: Access denied for user 'roo'@'localhost' (using password: YES