不能 运行 mysql 作为 root linux 用户执行命令
Can't run mysql commands as root linux user
作为 linux 根用户:
root@local:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
password: NO)
我很困惑。 root 用户不应该在没有额外身份验证的情况下能够 运行 mysql
吗?我该如何解决这个问题?
您在 MySql 中的根帐户有密码。试试这个
mysql -p
然后输入您或他人设置的密码。
如果不行试试
mysql -h localhost -u root -p
不起作用,您需要重置 MySql root 密码。这是关于 'toobz
的几个教程的主题
如果MySQLroot用户有密码,使用默认的认证插件,那么你必须提供密码才能连接,句号。您可以配置一个没有密码的帐户,但这是您应该避免的习惯。
您可以通过以下任一方式提供密码:
- 使用
-p
选项交互式输入
- 像
-p<mypassword>
一样在命令行中以明文形式输入
- 将其以明文形式存储在
[client]
部分的 ~/.my.cnf
文件中(参见 https://dev.mysql.com/doc/refman/8.0/en/option-files.html)
- 将其以混淆形式存储在您的
~/.mylogin.cnf
文件中(参见 https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html)。
还有一种通过环境变量提供密码的方法,但现在不鼓励这样做,因为它确实不安全。
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
作为 linux 根用户:
root@local:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我很困惑。 root 用户不应该在没有额外身份验证的情况下能够 运行 mysql
吗?我该如何解决这个问题?
您在 MySql 中的根帐户有密码。试试这个
mysql -p
然后输入您或他人设置的密码。
如果不行试试
mysql -h localhost -u root -p
不起作用,您需要重置 MySql root 密码。这是关于 'toobz
的几个教程的主题如果MySQLroot用户有密码,使用默认的认证插件,那么你必须提供密码才能连接,句号。您可以配置一个没有密码的帐户,但这是您应该避免的习惯。
您可以通过以下任一方式提供密码:
- 使用
-p
选项交互式输入 - 像
-p<mypassword>
一样在命令行中以明文形式输入
- 将其以明文形式存储在
[client]
部分的~/.my.cnf
文件中(参见 https://dev.mysql.com/doc/refman/8.0/en/option-files.html) - 将其以混淆形式存储在您的
~/.mylogin.cnf
文件中(参见 https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html)。
还有一种通过环境变量提供密码的方法,但现在不鼓励这样做,因为它确实不安全。
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;