Reputation: 1977
I've setup MySQL on my mac a while ago and I forgot what my root password was.(there are only a few password combinations I use, and none of them seems to work) I've tried many methods, including trying to reset the root password in safe mode. Nothing seems to be working for me.
Below is the log that I got from a few solutions I tried:
1.Normal Login
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 Password Reset
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 (with MYSQL server turned off)
[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)
Additional info: I'm using a macbook pro with OSX 10.11.5
Upvotes: 1
Views: 1803
Reputation: 4778
When you are trying to start the MySQL server without the grant tables, you're receiving (multiple) Permission Denied
. For instance,
/usr/local/bin/mysqld_safe: line 135: /usr/local/var/mysql/Yorks-MacBook-Pro.local.err: Permission denied
and that's why you're being unable to connect to the server (it never had the chance to start).
So, first of all, kill any mysqld_safe
that might be already running (as super user):
$ sudo killall -TERM mysqld_safe; sleep 5; sudo killall -TERM mysqld
Check if the process is dead:
$ ps -ef | grep mysql
If not, and if you don't care about losing database integrity (possible data loss) issue the commands:
$ sudo killall -KILL mysqld_safe; sleep 5; sudo killall -KILL mysqld
Then, try to start the mysqld_safe
with super user privileges (note the --skip-grant-tables):
$ sudo mysqld_safe --skip-grant-tables
Then connect to the MySQL Server (avoiding the use of the mysql unix socket):
$ mysql -uroot -h 127.0.0.1 --protocol=tcp
And then, under the MySQL Console:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
mysql> ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'MyNewPass';
References:
B.5.3.2 How to Reset the Root Password
Upvotes: 3