问题:
在mysql中设置用户时,我遇到了登录问题。老用户可以按预期登录,对于新创建的用户,我无法登录并获得错误消息。
执行SQL:
CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON somedb.* TO 'monty'@'%';
FLUSH PRIVILEGES;
期望:我现在可以从我的客户端代码中以用户monty的身份登录(已经存在的用户可以使用什么)。
错误:登录失败,我的客户端代码中有以下错误消息:
SQL
我需要一个用户能够从机器foobarhost IP 10.11.12.13登录我们的MySQL服务器5.6。
因此,我创建了一个用户'joe'@'foobarhost',但他无法登录。我必须创建一个用户'joe'@'10.11.12.13',这一次运行良好。
我的问题是: MySQL如何处理涉及用户的主机名和IP地址?
MySQL 在检查匹配之前对用户表进行排序,使用IP地址和主机名作为要匹配的最特定的值.然而,文档并没有指定什么是优先级-主机名或IP。MySQL是否尝试主机名解析,如果失败,是否对IP执行检查?
用户表的推荐用法
我正在用PHP创建一个登录系统。我需要一个用户使用他或她的用户名或电子邮件或电话号码登录,然后密码。因为我知道在java中我们会像email==user^ username == user那样做,这在MySQL中也适用吗。我可以在MySQL中做这样的事情吗?
Select * from user WHERE mail = 'user' ^ phoneNo= 'user' ^ username = 'user' and password = 'pass'
我试过了,但失败了。或者,我在PHP中使用多个if,每次检查一个,如下所示。
当我尝试从MySQL工作台输入根用户并手动输入它时,我会得到以下错误:
您的用户根连接尝试失败到mysql服务器访问拒绝用户' root '@'localhost‘(使用密码:是)
当我想通过cmd连接到-u root时,我正在使用mysql MySQL代码,其中有一个错误:
mysql: Unknown operating system character set 'cp857'.
mysql: switch to the default character set of 'utf8mb4'.
ERROR 1045 (28000):
在使用mysqladmin --defaults-file=/etc/mysql/debian.cnf时,mysqladmin失败,并显示以下错误: mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 但是如果我尝试使用用户名和密码登录,比如:mysqladmin -uroot -pmysupersecretpass,它可以工作。 包
在MySQL中,我有一个用户的密码中有一个"<“。
CREATE USER me IDENTIFIED BY 'ab>cd';
我可以使用这个用户名和密码通过MySQL Query Browser登录。太棒了。但是当我尝试使用命令行登录时,它失败了。
C:\Program Files\MySQL\Server\bin>mysql -u me -pab>cd
ERROR 1045 (28000): Access denied for user 'me'@'localhost' (using password: YES
我不能用超级用户登录,我想超级用户的密码可能是changed.But,我也不能更改超级用户的密码。
Mysql版本为v8.0.16。
我已经使用--init-file在mysqld引导时指定了alter sql。
alter user 'root'@'localhost' identified by 'mynewpassword'
但它不起作用。
我使用了--skip-grant-tables --user=mysql,这样我就可以添加一个新用户,我的新用户就可以工作了。我尝试更改root,但它再次失败。
mysql> alter user
在4次用户名/密码登录尝试失败后,我想拒绝对服务器的IP访问。之前,我通过将IP或块添加到/etc/apache2/httpd.conf文件中,拒绝了对web服务器的访问。
<Location "/">
Order Allow,Deny
Allow from all
Deny from 1.2.3.4/30 3.4.5.6/15
Deny from 9.4.3.4
</Location>
有人知道如何用PHP编程完成这一任务,或者让Apache2查询mysql,以获得一个设置间隔的“IP拒绝列表”?
谢谢!
编辑用于澄清