2016-07-08 2 views
1

Я установил MySQL на свой Mac некоторое время назад, и я забыл, что такое мой пароль root (есть только несколько сочетаний паролей, которые я использую, и ни один из них не работает) ve пробовал много методов, включая попытку сброса пароля root в безопасном режиме. Ничто, кажется, не работает для меня.Сбросить пароль пользователя root MySQL не работает

Ниже журнала, который я получил от нескольких решений я пытался:

Войти 1. Нормальные

Yorks-MacBook-Pro:~ yorkwang$ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

Yorks-MacBook-Pro:~ yorkwang$ mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usingpassword: YES) 

2.Safemode Сброс пароля

Yorks-MacBook-Pro:~ yorkwang$ mysqld_safe --skip-grant-tables 
2016-07-08T18:37:50.6NZ mysqld_safe Logging to '/usr/local/var/mysql/Yorks-MacBook-Pro.local.err'. 
2016-07-08T18:37:51.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql 
/usr/local/bin/mysqld_safe: line 135: /usr/local/var/mysql/Yorks-MacBook-Pro.local.err: Permission denied 
rm: /tmp/mysql.sock: Permission denied 
/usr/local/bin/mysqld_safe: line 169: /usr/local/var/mysql/Yorks-MacBook-Pro.local.err: Permission denied 
2016-07-08T18:37:51.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/Yorks-MacBook-Pro.local.pid ended 
/usr/local/bin/mysqld_safe: line 135: /usr/local/var/mysql/Yorks-MacBook-Pro.local.err: Permission denied 

3.Safemode Password Reset (с выключенным сервером MYSQL)

[1]+ Stopped     sudo mysqld --skip-grant-tables 
Yorks-MacBook-Pro:~ yorkwang$ 

2016-07-08T18:43:50.807384Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2016-07-08T18:43:50.809064Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path. 
2016-07-08T18:43:50.810163Z 0 [Note] mysqld (mysqld 5.7.11) starting as process 68112 ... 
2016-07-08T18:43:50.823374Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 
2016-07-08T18:43:50.835814Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2016-07-08T18:43:50.835842Z 0 [Note] InnoDB: Uses event mutexes 
2016-07-08T18:43:50.835848Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 
2016-07-08T18:43:50.835852Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2016-07-08T18:43:50.837573Z 0 [Note] InnoDB: Number of pools: 1 
2016-07-08T18:43:50.839941Z 0 [Note] InnoDB: Using CPU crc32 instructions 2016-07-08T18:43:50.850947Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 
2016-07-08T18:43:50.865025Z 0 [Note] InnoDB: Completed initialization of buffer pool 
2016-07-08T18:43:50.891791Z 0 [Note] InnoDB: Highest supported file format is Barracuda. 
2016-07-08T18:43:50.926530Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 
2016-07-08T18:43:50.926759Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 
2016-07-08T18:43:50.958427Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB. 
2016-07-08T18:43:50.959275Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. 
2016-07-08T18:43:50.959287Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active. 
2016-07-08T18:43:50.959505Z 0 [Note] InnoDB: Waiting for purge to start 
2016-07-08T18:43:51.014726Z 0 [Note] InnoDB: 5.7.11 started; log sequence number 2494670 
2016-07-08T18:43:51.015106Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/var/mysql/ib_buffer_pool 
2016-07-08T18:43:51.015947Z 0 [Note] Plugin 'FEDERATED' is disabled. 
2016-07-08T18:43:51.029570Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. 
2016-07-08T18:43:51.029602Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory. 
2016-07-08T18:43:51.031297Z 0 [Note] InnoDB: Buffer pool(s) load completed at 160708 11:43:51 
2016-07-08T18:43:51.033667Z 0 [Warning] CA certificate ca.pem is self signed. 
2016-07-08T18:43:51.034667Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory. 
2016-07-08T18:43:51.041311Z 0 [Note] Server hostname (bind-address): '*'; port: 3306 
2016-07-08T18:43:51.041463Z 0 [Note] IPv6 is available. 
2016-07-08T18:43:51.041482Z 0 [Note] - '::' resolves to '::'; 
2016-07-08T18:43:51.041495Z 0 [Note] Server socket created on IP: '::'. 
2016-07-08T18:43:51.149448Z 0 [Note] mysqld: ready for connections. Version: '5.7.11' socket: '/tmp/mysql.sock' port: 3306 Homebrew 
mysql -u root mysql 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 

Дополнительная информация: Я использую Macbook Pro с OSX 10.11.5

+1

'MySQL -u корень -p' или посмотреть на файл конф или http://stackoverflow.com/q/25896082 – Drew

ответ

3

Когда вы пытаетесь запустить сервер MySQL без таблиц привилегий, вы получаете (несколько) Permission Denied. Например,

/usr/local/bin/mysqld_safe: line 135: /usr/local/var/mysql/Yorks-MacBook-Pro.local.err: Permission denied 

и поэтому вы не можете подключиться к серверу (у него никогда не было возможности начать работу).

Итак, в первую очередь, убить любого mysqld_safe, которые могли бы быть уже запущен (как суперпользователя):

$ sudo killall -TERM mysqld_safe; sleep 5; sudo killall -TERM mysqld 

Проверьте, если процесс мертв:

$ ps -ef | grep mysql 

Если нет, и если вы не заботитесь о потере целостности базы данных (возможная потеря данных) выдать команды:

$ sudo killall -KILL mysqld_safe; sleep 5; sudo killall -KILL mysqld 

Затем попробуйте запустить mysqld_safe с супер-пользователя привилегии (обратите внимание на --skip-грант-таблиц):

$ sudo mysqld_safe --skip-grant-tables 

Затем подключаются к серверу MySQL (избегая использования MySQL Unix сокет):

$ mysql -uroot -h 127.0.0.1 --protocol=tcp 

А потом, под MySQL консоли:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; 
mysql> ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'MyNewPass'; 

Ссылки:

B.5.3.2 How to Reset the Root Password

+0

Привет спасибо за ответ. Я попробовал ваш метод, но застрял на шаге 3. 'Йорки-MacBook-Pro: ~ yorkwang $ MySQL -uroot ERROR 2002 (HY000): Не удается подключиться к локальному серверу MySQL через разъем '/tmp/mysql.sock' (2)» не слишком уверен, что я сделал не так –

+0

Это означает, что mysqld_safe не работает. Каков результат шага 2? (добавьте вывод на свой вопрос, чтобы я мог посмотреть). – pah

+0

Yorks-MacBook-Pro: ~ yorkwang $ sudo mysqld_safe --skip-grant-tables 2016-07-08T21: 53: 01.6NZ mysqld_safe Вход в '/ usr/local/var/mysql/Yorks-MacBook-Pro. local.err. 2016-07-08T21: 53: 01.6NZ mysqld_safe Запуск mysqld-демона с базами данных из/usr/local/var/mysql 2016-07-08T21: 53: 02.6NZ mysqld_safe mysqld из pid-файла/usr/local/var /mysql/Yorks-MacBook-Pro.local.pid закончился –

Смежные вопросы