本地安装MySQL
准备
- 系统 - Windows10
- MySQL版本 - mysql-8.0.16
下载地址 :https://dev.mysql.com/downloads/mysql/
我这里下载了社区版 压缩版本的MySQL 所以等下需要进行配置环境变量
开始安装
解压
- 右键点击解压到当前文件夹
- 将下载好的 zip 包解压到相应的目录,这里我将解压后的文件夹放在 D:\app\code\mysql\mysql-8.0.16-winx64
配置 MySQL 的配置文件
- 打开刚刚解压的文件夹 D:\app\code\mysql\mysql-8.0.16-winx64
- 在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\app\\code\\mysql\\mysql-8.0.16-winx64
启动 MySQL 数据库
- 以管理员身份打开 cmd 命令行工具,切换目录:
- 因为我是在D盘下 所以要先切换到D盘
直接输入 切换到D盘
d:
- 直接拷贝 安装路径 输入
cd D:\app\code\mysql\mysql-8.0.16-winx64\bin
- 初始化数据库
mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:
...2018-04-20T02:35:05.464644Z5[Note][MY-010454][Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
- 输入以下安装命令:
mysqld install
PS : 这里安装MySQL服务到系统 这也是为什么需要管理员权限打开cmd的原因了
- 启动输入以下命令即可:
net start mysql
PS : 在 5.7 需要初始化 data 目录:
cd D:\app\code\mysql\mysql-8.0.16-winx64\bin mysqld --initialize-insecure
初始化后再运行 net start mysql 即可启动 mysql
修改密码
alter user user() identified by "新密码";
到这里我们就可以使用我们新设置的密码登陆root了
接下来介绍使用可视化工具连接到数据库 不过还真的是问题多多 乐趣多多呢
Navicat连接数据库
问题描述
使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。
原因
原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决问题
解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
这里用第二种方式 ,解决方法如下
- 管理员权限运行命令提示符,登陆MySQL(记得添加环境变量 如果不加环境变量就要到该目录下才能使用一下的命令)
mysql -u root -p
password: #登入mysql
- 修改账户密码加密规则并更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
- 刷新权限并重置密码
FLUSH PRIVILEGES; #刷新权限
结果
打开Navicat Premium 12连接MySQL数据库 连接成功
顺便一提
添加环境变量
- 右键计算机点击属性
- 点击高级系统设置
- 点击环境变量
- 找到PATH 添加进去则可 这里则是
D:\app\code\mysql\mysql-8.0.16-winx64\bin
导入数据库
Navicat Premium是mysql数据库的可视化管理工具,那么怎样使用这个工具导出导入mysql数据库呢?
- 连接要导入的数据库,在里面新建一个名字与导出的数据库名字一致的新的、空的数据库 注意字符集编码最好选择utf-8 排序规则选择utf8_general_ci
- 打开这个新建的空数据库,右键选择运行sql文件 选择我们要导入的sql文件 开始导入
- 最后导入完成
Java连接MySQL数据库连接不上
问题描述
原本的MySQL是5.0版本的 现在MySQL升级8.0后连接不上数据库
原因分析
根据现象分析 应该是数据库驱动不匹配的关系
解决
- 修改数据库配置文件
jdbc.type=mysql
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/foctool_yext?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=Cqkdczy0922
注意:
MySQL 8.0 中驱动包由 “com.mysql.jdbc.Driver” 改为 “com.mysql.cj.jdbc.Driver”
要显式地禁用 SSL,useSSL=false
添加时区 serverTimezone(MySQL jdbc 6.0 版本以上必须添加时区参数),UTC 为全球标准时间,北京时区的话,设置serverTimezone=Asiz/Shanghai
- 修改 pom 配置
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.12version>
dependency>