我在Ubuntu 18.04上安装了MySQL 5.7.26,但是无法登录或重置“ root”用户密码。我从the two top answers to this post开始尝试了所有方法,但没有成功。
/var/log/mysqld.log
文件,因此我找不到临时密码。mysql_secure_installation
更改root密码无效。 sudo mysqld_safe --skip-grant-tables &
立即存在。
尝试使用mysql -u debian-sys-maint -p
设置root密码,但是我注销然后重新登录后,auth_socket
表中仍然有MySQL.user
(出于某种原因UPDATE user SET plugin='mysql_native_password' WHERE User='root';
即使我flush privileges
和commit
也不会生效。
EDIT1:
也尝试了this,但
sudo su - mysql
mysqld --init-file=/home/me/mysql-init &
立即退出,在/var/log/mysql/error.log
中,我有这个提示:
2019-06-12T14:16:16.870292Z 0 [ERROR] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.
2019-06-12T14:16:16.870295Z 0 [ERROR] Unable to setup unix socket lock file.
2019-06-12T14:16:16.870298Z 0 [ERROR] Aborting
目录/var/run/mysqld/
不存在,但是如果我执行sudo service mysql start
,则会创建该目录,然后执行sudo service mysql stop
与sudo mysqld_safe --skip-grant-tables &
相同的情况:
Directory '/var/run/mysqld' for UNIX socket file don't exists.
EDIT2:
尝试在干净的Ubuntu 18.04安装中得到相同的结果,但没有找到任何东西
sudo grep -r 'temporary password' / --include=*.log
我还尝试按照here的描述创建目录(使用“ mysql”所有者),但是在日志中使用文件“ mysql-init”(也使用“ mysql”所有者)创建了“权限被拒绝”