Для локальной разработки с MySQL очень удобно использовать пустой пароль root-пользователя. Раньше его можно было задать пустым сразу при установке и спокойно работать. Начиная с версии MySQL 5.7 поведение изменилось.
Теперь, если при установке указывается пустой пароль пользователя root, то изменяется схема подключения для него с TCP/IP на локальный socket. Сделано это, как не трудно догадаться, в целях безопасности.
Выражается, например, в том, что команды вроде
$ mysql -uroot
отказываются работать. Нужно использовать для этого sudo
. В том числе через sudo
нужно запускать MySQL Workbench, что быстро надоедает.
Решение
Открываем консоль и пишем:
$ sudo mysql -uroot
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
mysql> flush privileges;
mysql> quit
Теперь можно спокойно соединяться с сервером MySQL, используя текущего пользователя:
$ mysql -uroot