Как подключиться к MySQL на localhost

После того как мы установили к себе веб-сервер на Mac Os, мы вероятно захотим подключиться к базе данных MySQL через стороннюю программу. И вот как это сделать, ниже в статье.

На примере PhpStorm, но по сути алгоритм везде одинаков.

Типовые настройки:

логин — root
пароль — password
порт — 3306
server host — 127.0.0.1

Если следом попробовать подключиться, то не получится. Вместо этого возникнет ошибка:

java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘MSK’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2241)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2265)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1319)
at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:868)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:830)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
in JdbcHelperImpl.connect(JdbcHelperImpl.java:558) (no stack trace).
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘MSK’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

Суть всего этого в том, что не настроена временная зона. Для её настройки переходим к настройке драйверов (на первом скрине Go to Driver).

Далее выбираем временную зону UTC (serverTimezone):

Теперь с Test Connection будет все ок

DBMS: MySQL (ver. 8.0.17) Case sensitivity: plain=mixed, delimited=mixed Driver: MySQL Connector/J (ver. mysql-connector-java-8.0.15 (Revision: 79a4336f140499bd22dd07f02b708e163844e3d5), JDBC4.2) Ping: 21 ms

Настройки для DBeaver (здесь еще все проще):

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Как подключиться к MySQL на localhost"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>