Windows zip包的下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-winx64.zip
1,将zip包解压到指定目录下:
解压到:
2,配置mysql的环境变量
找到path 将安装路径复制进去加入\bin;结尾
此处我的路径为: E:\utils\mysql-8.0.12-winx64\bin; 注意分号 ; 结尾 必须是英文格式的的分号
再在系统配置中找到path
点编辑
加入mysql的安装路径,然后一路确定,环境变量配置完成
3,配置mysql服务的启动参数
解压mysql.zip文件后:
目录中并没有 my.ini 的文件
那么我们需要 新建 my.txt普通文本文件,然后通过修改后缀名变成 .ini文件
在my.txt里面配置相应的参数配置
你爱怎么配就怎么配,下面是我配置的样本,basedir 和 datadir 里面的文件目录分隔符 建议使用 \\ 双杠,而不是 \ 单杠
[mysqld]
# port 3306 端口号
port=3306
# install path 安装路径
basedir=E:\\utils\\mysql-8.0.12-winx64
# data path 存放数据的路径
datadir=E:\\utils\\mysql-8.0.12-winx64\\mysqldata
# max_connections 最大连接数
max_connections=200
# max_connect_errors 连接错误5次就拒绝连接(防止黑客侵入数据丢失)
max_connect_errors=5
# charset 默认编码方式
character-set-server=utf8
# default-storage-engine 默认存储引擎
default-storage-engine=INNODB
# plugs 默认密码插件
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
然后将my.txt 更改成 my.ini格式
点击重命名 再点确定 这里的配置就已经完成
4,在cmd中开启mysql服务器
以管理员身份开启 cmd
输入你的mysql8解压路径:
输入命令: mysqld --initialize --console
出现上面所示,则安装完成
注意上面的 A temporary password is generated for root@localhost:u5uXqt>>s_!y
这就是系统为你生成的 默认密码 u5uXqt>>s_!y (每个人都不一样,这里的是我的)
然后在cmd中输入命令: mysqld --install
Service successfully installed 则服务安装完成
安装后,启动命令 net start mysql 关停命令 net stop mysql
5,修改mysql的密码
系统为我们生成的密码很难记住,我们需要自定义密码
继续上面的操作, 在DOS命令窗口中 输入 mysql -u root -p 会提示你输入密码,密码即为上文中提及的 u5uXqt>>s_!y
这样就已经进入mysql数据库了,
然后输入 sql命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root123';
这里的mysql_native_password 是你配置文件中的密码插件
root123 是我设置的新密码
注意其中的 ' 符号和结尾的 ;
密码修改成功,以后的账户就是 root 密码是 root123 以便于后面的 navicat连接,mysql8的安装到此结束
输入命令 show databases;
一毛钱的问题都没有
获取连接驱动包:
地址:http://ftp.jaist.ac.jp/pub/mysql/Downloads/Connector-J/mysql-connector-java-8.0.12.zip
官网上下载 mysql-connector-java-8.0.12.zip
里面就有相应的 jar包 ,然后放入各位的 maven仓库中保存,不再赘述
后面就是 java连接数据库了,这里有两个坑:其中第一个是 以前的 驱动包是 com.mysql.jdbc.Driver 而安装了 mysql 8.0过后要改成 com.mysql.cj.jdbc.Driver , 连接方式也不需要SSL方式了,所以要手动设置为false
ex:
Class.forName("com.mysql.cj.jdbc.Driver");
conn=DriverManager.getConnection
("jdbc:mysql://localhost:3306/你的数据库名字?useSSL=false&serverTimezone=UTC","root","你的root账户下的密码");