Ilo*_*nux 9 mysql permissions password reset
好吧,让我们首先澄清一下,我已经阅读了 Ask Ubuntu 关于这个问题的所有问题,并且我已经按照官方文档中的所有步骤进行了操作:
我使用的是 Ubuntu 16.04.1 LTS
因此,在有人提出我可能已经尝试过的任何建议之前,我将展示我所做的:
root@localhost:/# sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
Run Code Online (Sandbox Code Playgroud)
MySQL 正确停止。
root@localhost:/# sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3316
root@localhost:/#
Run Code Online (Sandbox Code Playgroud)
在这里我不知道这是否有效,所以我还是按照步骤操作。
root@localhost:/# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@localhost:/#
Run Code Online (Sandbox Code Playgroud)
似乎它不起作用,因为服务没有启动。由于我无法继续下一步,我尝试了另一种方法(清除)。
使用后:
sudo apt-get --purge remove
sudo apt-get install
Run Code Online (Sandbox Code Playgroud)
我尝试下一步:
root@localhost:/# mysqladmin -u root password MyNewPassword
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
root@localhost:/#
Run Code Online (Sandbox Code Playgroud)
由于这也不起作用,我尝试了 mysql web 上提到的其他方法:
所以我按照那里的指示杀死了 mysql 进程,然后我使用
root@localhost:/# mysqld_safe --init-file=/home/me/mysql-init &
[1] 5267
root@localhost:/# 2017-02-01T12:47:49.250083Z mysqld_safe Logging to syslog.
2017-02-01T12:47:49.252427Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.254765Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.257045Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+ Salida 1 mysqld_safe --init-file=/home/me/mysql-init
root@localhost:/#
Run Code Online (Sandbox Code Playgroud)
现在是我无法选择的时候,所以我还尝试了 Ask Ubuntu 上提到的另一种方法:
root@localhost:/# sudo dpkg-reconfigure mysql-server-5.7
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.17, use --force if you still need to run mysql_upgrade
root@localhost:/#
Run Code Online (Sandbox Code Playgroud)
现在我真的别无选择,所以欢迎提出任何建议。
小智 16
我遇到了同样的问题,我通过执行以下行来解决它:
$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
在执行此行之前:
root@localhost:/# mysqld_safe --init-file=/home/me/mysql-init &
Run Code Online (Sandbox Code Playgroud)
对我来说,这些步骤效果更好。
我认为有一种更简洁的方法可以做到这一点,但对我来说,这是一种快速有效的解决方法。