我在问题中提供的答案中看到了: How do I open up my MySQL on my Raspberry Pi for Outside / Remote Connections?
在其他网站上,需要使用创建用户语法中的撇号(')。
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
但是我发现当用户名和主机名之间省略撇号时,它仍然有效。
例如:
CREATE USER jeffrey@localhost IDENTIFIED BY 'password';
甚至
CREATE USER jeffrey@127.0.0.1 IDENTIFIED BY 'password';
据我所知,将产生一个没有问题的用户。
这种行为是故意的还是不好做(省略撇号)?
致谢
答案 0 :(得分:1)
根据dev.mysql.com/doc/refman/5.7/en/account-names.html:
如果合法,则无需引用用户名和主机名 未加引号的标识符。必须使用引号指定
user_name
包含特殊字符(例如空格或-)的字符串,或者host_name
包含特殊字符或通配符的字符串 (例如。或%);例如'test-user'@'%.com'
。
因此,大概您不能使用名称table
而不用引号:
CREATE USER table@127.0.0.1 ...
但是您可以使用foobar
:
CREATE USER foobar@127.0.0.1 ...