目录
- 在Mac OS X 和Windows上安装MySQL系统
- Mac OS X 安装
- Windows 10 安装
- 解决Java无法正常连接的问题(Public Key Retrieval is not allowed / Access Denied for user)
在Mac OS X 和Windows上安装MySQL系统
这是一份简单的教程,旨在提供一份完整的Mac OSX 以及 Windows 平台上的安装说明。
最后更新时间:2019-12-15
最后更新内容:补充Java无法连接问题解决方案。
安装系统:
-
Mac OS 10.15.2
安装版本MySQL Community 8.0.18 x86_x64
-
Windows 10
安装版本MySQL Community 8.0.18.0
,msi安装包
Linux系统请参考Mac版本安装。
使用到的文件:
- Mac OS X 平台:
- Windows 平台:
Mac OS X 安装
下载完毕后,双击下图所示图标打开文件。
双击后弹出如下图所示的界面,双击打开其中的pkg文件。
双击后,显示如下安装界面,请单击“继续”。
在这里,可以选择安装位置,选择合适的安装位置后单击“安装”继续。
单击后,会提示输入密码进行确认,输入后,等待进度条读完。
读条完成后,会提示你选择数据库的密码验证方式,这里建议选择第一个“Use Strong Password Encryption”,单击“Next”。
在这里为您的数据库root用户设置密码。密码要求:
- 至少8位
- 包含数字、字母、特殊符号中的两种或以上
钩上复选框,则安装完成后立即启动数据库服务器。
应用设置,等待其完成。
此过程期间还会提示输入密码,输入即可。
完成后,单击“关闭”退出。
关闭后,请打开系统自带的“终端”应用。
输入命令:mysql -h localhost -u root -p
,按下回车,并按照提示输入你刚才设置的密码,进行连接测试。
输入的密码不会显示在屏幕上,放心输入就行。
如果确认出现以上成功的提示,且终端变成“mysql>”,则证明安装成功。
另外,推荐安装 MySQL Workbench,这是官方提供的可视化数据库管理软件。
Windows 10 安装
下载完毕后,双击下图所示图标打开文件。
打开后将会弹出提示,单击“是”
选择“Developer Default”,单击Next
当然,还有一些实用的Database Connector可以选择,如果您要选择安装额外的组件,可以选择“Custom”。
在下图界面,请先不要单击“Next”,单击“Execute”,安装器将会自动开始解决先决条件。
但是,Status后面写着“Manual”的,将无法自动解决,但是可以忽略。
单击“Execute”之后,会进入如下界面:
在安装过程中会弹出部分安装对话框,按照提示进行安装就好。
完成后如下图所示:
再按下“Next”,会弹出如下对话框,这是因为有部分“Manual”状态的先决条件并没有得到解决。
不过没有解决的话,在某种程度上说明你不需要它们。这些东西在之后还可以通过MySQL Installer补充安装。所以在这里,我们可以直接忽略它们。
之后会进入安装准备界面,单击“Execute”。
注意检查好里面有MySQL Server,否则啥也装不上的。(如果真的发现没有,那就是上一步你没有点“Execute”,而是直接点了“Next”,跳过了先决条件安装,你需要点击“Back”回去补充安装)
单击“Execute”,等待安装完成。
读完条会显示下图,有一个Fail,可以忽略。
之后会进入到配置界面,单击Next
选择Standalone MySQL Server,单击Next
这些都不用动,单击Next
选择Use Strong Password Encryption for Authentication,单击Next
在对话框中设置root用户的密码,输入完成后在对话框的空白界面单击一下,如果有叹号显示出来,那么可能是密码强度不符合要求或者两次输入密码不一致。
如果没问题了,可以单击Next。
在这里选择是否将MySQL设置为Windows服务,我们可以不动它的设置。
之后单击“Execute”来开始自动配置。
单击Finish,进入下一步。
单击Next。
这里可以应用它原本的设置。
单击Next继续。
在这里可以测试MySQL服务器是否被正确配置。在下面输入密码,并单击“Check”。
如果显示的是如下图所示的“Success”,那么恭喜你,安装成功了。
再继续。
完全完成后会看到如下图的界面:
单击Finish,完成安装。
解决Java无法正常连接的问题(Public Key Retrieval is not allowed / Access Denied for user)
此方法可以解决:Java程序不使用SSL登录时,提示java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
,使用SSL登录时,提示java.sql.SQLExcption: Access Denied for user 'root'@'localhost'
首先,JDBC的连接参数上,请使用useSSL=false
和allowPublicKeyRetrieval=true
。
方法思路:为了安全起见,MySQL可能会禁止root用户的外部使用,仅允许命令行本地使用。为了解决这个问题,使用命令行在数据库系统中新建一个管理账户,赋予相应的权限后,使用新账户登陆操作即可。
步骤(以Mac终端操作为例,其他平台相同):
打开终端,输入命令:mysql -h localhost -u root -p
,按下回车,并按照提示输入数据库root用户的密码。
输入命令:
CREATE USER '[用户名]'@'localhost' IDENTIFIED BY '[密码]';
GRANT ALL PRIVILEGES ON *.* TO '[用户名]'@'localhost';
如果您希望这个用户在外网也能访问,请输入以下命令:
CREATE USER '[用户名]'@'%' IDENTIFED BY '[密码]';
GRANT ALL PRIVILEGES ON *.* TO '[用户名]'@'%';
完成后,使用新的账号和密码进行各种操作即可。