Mysql 没有特定用户登录
Mysql login without a specific user
今天我遇到了一个问题,我无法从 mysql cli 中找到由 ROR 项目创建的数据库。一些峰值之后,事实证明我没有以 root 身份登录,我只是使用 mysql
没有任何参数。所以我的问题是,如果您使用 'mysql' 命令登录,您以谁的身份登录,您拥有什么权限?
顺便说一下,mysql 版本是 5.5 .
回复标记为重复:
实际上,我不认为这是与 MySQL Utilities - ~/.my.cnf option file 的重复;我检查了我的环境,我没有默认配置文件,也没有在任何地方存储任何密码。我的问题是我正在登录,就像使用裸 mysql
命令一样。一个线索是当我尝试查询 mysql.user 时,我收到了下面的消息。所以我想我是作为@localhost 登录的,但是这个名字是从哪里来的?
Blockquote
mysql> SELECT host, user, password from mysql.user;
ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user'
mysql>
只有 mysql.user table 中列出的用户可以登录。
SELECT host, user, password from mysql.user; -- MySQL before 5.7
SELECT host, user, authentication_string from mysql.user; -- MySQL 5.7 +
对于 CLI 访问,mysql 配置文件可以输入您的密码。该文件的路径和名称因您使用的不同操作系统和数据库版本而异。
无密码访问MySQL可能意味着:
- 您的用户帐号根本没有密码。
- 或者,您不需要输入密码,因为您的配置文件已经包含它。 (在这个问题上,这可能是你的方式。)
使用这两个选项可能都不安全。
另见:
- https://easyengine.io/tutorials/mysql/mycnf-preference/
- MySQL Utilities - ~/.my.cnf option file
- http://kvz.io/blog/2010/03/21/access-mysql-without-password/
今天我遇到了一个问题,我无法从 mysql cli 中找到由 ROR 项目创建的数据库。一些峰值之后,事实证明我没有以 root 身份登录,我只是使用 mysql
没有任何参数。所以我的问题是,如果您使用 'mysql' 命令登录,您以谁的身份登录,您拥有什么权限?
顺便说一下,mysql 版本是 5.5 .
回复标记为重复:
实际上,我不认为这是与 MySQL Utilities - ~/.my.cnf option file 的重复;我检查了我的环境,我没有默认配置文件,也没有在任何地方存储任何密码。我的问题是我正在登录,就像使用裸 mysql
命令一样。一个线索是当我尝试查询 mysql.user 时,我收到了下面的消息。所以我想我是作为@localhost 登录的,但是这个名字是从哪里来的?
Blockquote mysql> SELECT host, user, password from mysql.user; ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user' mysql>
只有 mysql.user table 中列出的用户可以登录。
SELECT host, user, password from mysql.user; -- MySQL before 5.7
SELECT host, user, authentication_string from mysql.user; -- MySQL 5.7 +
对于 CLI 访问,mysql 配置文件可以输入您的密码。该文件的路径和名称因您使用的不同操作系统和数据库版本而异。
无密码访问MySQL可能意味着:
- 您的用户帐号根本没有密码。
- 或者,您不需要输入密码,因为您的配置文件已经包含它。 (在这个问题上,这可能是你的方式。)
使用这两个选项可能都不安全。
另见:
- https://easyengine.io/tutorials/mysql/mycnf-preference/
- MySQL Utilities - ~/.my.cnf option file
- http://kvz.io/blog/2010/03/21/access-mysql-without-password/