Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recuperar a senha de root do mysql no MacOS


É assim que você pode fazer isso no macOS Sierra, provavelmente você o instala via pacote e nas preferências do sistema tem um ícone para MySQL, algo assim:



Se estiver funcionando, abra um terminal e execute este comando:
pgrep -fl mysql

Isso o ajudará a encontrar o caminho do mysqld e o comando atual usado para iniciar o servidor, a saída pode ser algo assim:
6283 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

O próximo passo é parar o MySQL, você pode fazer isso clicando no menu System Preferences e clicando no botão Stop MySQL Server botão, uma vez parado dentro de um terminal você precisará reiniciar o servidor, mas com algumas opções extras, algo assim:
sudo /usr/local/mysql/bin/mysqld \
  --skip-grant-tables \
  --skip-networking \
  --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

Na verdade, é o mesmo comando da saída de pgrep -fl mysql mas neste caso, você só precisa adicionar:
--skip-grant-tables --skip-networking

Depois de fazer isso, você notará que o menu das Preferências do Sistema está verde novamente e o MySQL deve estar funcionando, agora você pode tentar fazer o login e alterar a senha:
mysql -uroot
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR [email protected]'localhost' = PASSWORD('secret');
mysql> FLUSH PRIVILEGES;
mysql> exit

Pare e reinicie o MySQL no painel de Preferências do Sistema e ele deve estar funcionando agora com a nova senha.