mysql - MACOS / MySQL / SQL Developer 连接错误 - 时区问题
问题描述
在我的 Mac PC 上,我已经安装了 MySQL 和 SQL Developer 以及 MySQL 的官方 JDBC 驱动程序 MySQL Connector/J,因此 MySQL 选项卡出现在 SQL Developer 的连接窗口中。
在 SQL Developer 连接窗口中,我正在填写以下详细信息
连接名称:test 用户名:root 密码:xxxxx
在此连接窗口的 MySql 选项卡中,主机名和端口会自动填充值 localhost 和 3306。
有一个名为“选择数据库”的按钮,当我单击此按钮时,我收到以下红色错误消息
“状态:失败 - 服务器时区值 'AEST' 无法识别或代表多个时区。如果需要,您必须配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)以使用更具体的时区值利用时区支持”
如何解决此问题,以便我可以从 SQL 开发人员连接到 MySql 数据库?
PS:我目前在澳大利亚悉尼。
解决方案
我在 Mojave (10.14.6) 上安装了带有本机包的 MySQL 8。据我所知,没有 my.cnf 文件这样的东西。我无法让 MySQL 识别任何 my.cnf 文件,即使在系统偏好设置中的 MySQL 设置小程序的配置选项卡上指定一个文件也是如此。唯一对我有用的是编辑/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
和添加<string>--default-time-zone=America/Denver</string>
到该Program Arguments
部分。重新启动 Mac 或使用上述小程序重新启动服务器。
我想只有当您将时区数据加载到 MySQL 时,才能使用城市名称。mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
为我工作。否则,像上述答案这样的偏移量应该可以工作。
推荐阅读
- azure-cosmosdb - 为什么通过 ARM 模板部署 Azure Cosmos DB (SQL API) 需要这么长时间?
- java - 在 Java 中创建随机数生成器 - 每次重置数组
- python - 使用 Python 从文本中提取值
- firebase - 我想在颤振中创建一个聊天应用程序
- java - 签名发布后尝试调试时 Flutter android App 崩溃
- angular - 使用firebase身份验证登录时如何保存用户数据?
- autodesk-forge - Forge 创建活动发出错误请求
- flutter - Flutter:如何记住并突出显示选定的抽屉项目?
- go - Golang如何将整数类型转换为字节类型
- java - Does spring boot uses external server, or embedded server when deployed on external server as war?