我在Ubuntu 12.04 LTS(Precise Pangolin)上安装了LAMP,然后在phpMyAdmin上设置root密码.我忘记了密码,现在我无法登录.当我尝试通过终端更改密码时,我得到:
ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)
我怎样才能解决这个问题?我无法打开LAMP,卸载它或重新安装它.
我不小心从MySQL root用户那里删除了一些权限,包括改变表的能力.有什么方法可以将此用户恢复到其原始状态(具有所有权限)?
UPDATE mysql.user SET Grant_priv = 'Y', Super_priv = 'Y' WHERE User = 'root';
# MySQL returned an empty result set (i.e. zero rows).
FLUSH PRIVILEGES ;
# MySQL returned an empty result set (i.e. zero rows).
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
GRANT ALL ON *.* TO 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud) 我的当地环境是:
安装MySQL 5.7
sudo apt-get install mysql-common mysql-server
Run Code Online (Sandbox Code Playgroud)当我尝试登录MySQL(通过CLI)时:
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
我遇到了一个包含3个步骤的循环问题.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Run Code Online (Sandbox Code Playgroud)
解决方案:重启PC.
这导致了另一个错误:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
Run Code Online (Sandbox Code Playgroud)
可能的问题?"root"用户的密码错误!
解决方案:使用本教程重置root密码.
使用正确的密码和工作套接字,会出现上一个错误.
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Run Code Online (Sandbox Code Playgroud)
在这里,我停下来或以某种方式得到了1).
我刚刚安装了Ubuntu 16.04并在其上安装了Web服务器.一切运作良好,但我无法访问数据库.我在互联网上尝试了一切,也在这里,但没有任何作用......即使我创建新用户并授予所有权限,我也无法创建数据库:(在PHP中我得到'这个错误:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)
当我尝试登录终端时,它可以工作,但在PHP和phpmyadmin中没有.请帮忙.
PHP代码:
protected $host = '127.0.0.1';
protected $db = 'dbname';
protected $name = 'root';
protected $pass = 'root';
protected $conn;
private static $settings = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
);
public function __construct() {
try {
$this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
} catch (PDOException $e) {
echo $e->getMessage();
}
}
Run Code Online (Sandbox Code Playgroud) 我忘记了 MYSQL 密码,所以正在重置它。我在 Centos 7 上使用 MYSQL 5.6.41。
我按照以下步骤操作:
mysql服务停止
sudo mysqld_safe --skip-grant-tables &
Above command ends with :
190822 20:37:38 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)
服务 mysql 状态
This command always shows me iactive status:
Active: inactive (dead) since Thu 2019-08-22 20:14:22 UTC; 11min ago
Run Code Online (Sandbox Code Playgroud)
由于 MYSQL 在运行 mysqld_safe 后死机,因此“mysql -u root”拒绝登录。
我访问了许多链接来解决这个问题,即使我发现几个人发布了同样的问题,但这对我来说不起作用。
参考 :
https://linuxize.com/post/how-to-reset-a-mysql-root-password/
mysql ×5
linux ×2
php ×2
auth-socket ×1
lamp ×1
login ×1
phpmyadmin ×1
privileges ×1
root ×1
ubuntu ×1