Ubuntu 18.04如何在非root权限下启动mysql

3
我刚安装了Ubuntu 18.04并安装了LAMP,但是我在没有root权限的情况下使用mysql遇到了麻烦。当我输入以下命令时:
mysql -u root -p 并输入我配置的密码时,它会抛出访问被拒绝的错误。除非我输入
sudo mysql -u root -p 并输入密码,我才能连接。但我不想使用sudo,因为这会防止workbench连接到mysql,同样适用于phpmyadmin。有没有什么提示可以解决这个问题?

Stack Overflow是一个解答编程和开发问题的网站。这个问题似乎不属于编程或开发范畴。请参考帮助中心中的可以在此询问哪些话题。或许Unix & Linux Stack ExchangeDatabase Administrators Stack Exchange会更适合您的提问。 - jww
@jww,感谢您的关心和建议。然而,您分享的链接检查问题时要询问的内容属于“程序员常用的软件工具”类别。 - David NIWEWE
5个回答

6

只有"-u root"用户需要sudo。不管怎样,不使用root作为大多数访问的最佳实践是登录为root并使用sudo创建新用户:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

那么你应该能够在不使用sudo的情况下访问"mysql -u newuser"。


4
我昨天也遇到了这个问题。按照以下步骤解决:
  1. 连接MySQL: sudo mysql -u root
  2. 检查数据库中的mysql用户: SELECT User,Host FROM mysql.user;
  3. 删除root用户账户:DROP USER 'root'@'localhost';
  4. 重新创建root用户: CREATE USER 'root'@'%' IDENTIFIED BY ''
  5. 将所有权限授予root用户: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  6. 为root用户设置密码: ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';
就这样!现在你应该能够连接MySQL了。

谢谢你的帮助,虽然第三步没有成功,但是第一个答案对我很有用。 - David NIWEWE

1

在此输入图像描述 1. 更新mysql.user表,将插件设置为'mysql_native_password',其中用户名为'root'且插件为'unix_socket'的行;

2. 刷新权限。


1
我正在使用Ubuntu 18.04和mysql版本5.7的工作台,但通过以下10个步骤解决了此问题:
  1. 连接到MySQL:sudo mysql -u root
  2. 检查数据库中的mysql用户:SELECT User,Host FROM mysql.user;
  3. 删除root用户账户:DROP USER 'root'@'localhost';
  4. SET GLOBAL validate_password_length = 5;
  5. SET GLOBAL validate_password_number_count = 0;
  6. SET GLOBAL validate_password_mixed_case_count = 0;
  7. SET GLOBAL validate_password_special_char_count = 0;
  8. SET GLOBAL validate_password_policy = LOW;
  9. 重新创建root用户:CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
  10. 授予root用户所有权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

0

如果您无法使用任何mysql用户连接到mysql而不需要sudo,请尝试:

sudo chmod -R 755 /var/lib/mysql/

或者

sudo chmod -R 755 /var/run/mysql/

然后重新启动服务

sudo services mysql start

或者

sudo /etc/init.d/mysql start

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接