小编Mik*_*ava的帖子

MySQL不会让用户登录:错误1524

Server version: 5.7.10 MySQL Community Server (GPL)
Run Code Online (Sandbox Code Playgroud)

在MySQL中,我有一个用户芒果.用户在创建它时工​​作得很好.但是,重新启动计算机后,尝试登录芒果会产生以下输出:

$ mysql -u mangos -p
Enter password: 
ERROR 1524 (HY000): Plugin '*some_random_long_hash_I_cannot_remember' is not loaded
$ 
Run Code Online (Sandbox Code Playgroud)

它让我想起了密码哈希,所以在调查mysql.user后,我发现芒果没有密码!我更新了密码:

SET PASSWORD FOR 'mangos'@'127.0.0.1' = PASSWORD('mangos');
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

现在,我得到:

ERROR 1524 (HY000): Plugin '*3FBBDB84EA2B2A0EA599948396AD622B7FF68183' is not loaded
Run Code Online (Sandbox Code Playgroud)

3FBBDB84EA2B2A0EA599948396AD622B7FF68183与mysql的用户密码列中显示的数字相同,是一个与原始数字不同的数字.我还是无法登录.

如何让MySQL正确识别密码?这甚至是问题吗?

编辑:

mysql> SELECT * FROM mysql.user WHERE user = 'mangos' \G
*************************** 1. row ***************************
Host: localhost
              User: mangos
          Password: *3FBBDB84EA2B2A0EA599948396AD622B7FF68183
       Select_priv: N
       Insert_priv: N
       Update_priv: N
       Delete_priv: N
       Create_priv: N
         Drop_priv: N
       Reload_priv: …
Run Code Online (Sandbox Code Playgroud)

mysql sql

16
推荐指数
1
解决办法
4万
查看次数

如何使用非阻塞套接字连接()?

在Python中,我想socket.connect()在设置为非阻塞的套接字上使用。当我尝试这样做时,该方法总是抛出一个BlockingIOError. 当我忽略错误(如下所示)时,程序将按预期执行。当我在连接后将套接字设置为非阻塞时,没有错误。当我使用 select.select() 确保套接字可读或可写时,我仍然收到错误。

测试服务器.py

import socket
import select

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setblocking(0)

host = socket.gethostname()
port = 1234

sock.bind((host, port))
sock.listen(5)

while True:
    select.select([sock], [], [])
    con, addr = sock.accept()
    message = con.recv(1024).decode('UTF-8')
    print(message)
Run Code Online (Sandbox Code Playgroud)

测试客户端.py

import socket
import select

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setblocking(0)

host = socket.gethostname()
port = 1234

try:
    sock.connect((host, port))
except BlockingIOError as e:
    print("BlockingIOError")

msg = "--> From the client\n"

select.select([], [sock], [])
if sock.send(bytes(msg, 'UTF-8')) == len(msg):
    print("sent ", …
Run Code Online (Sandbox Code Playgroud)

python sockets networking nonblocking

6
推荐指数
2
解决办法
1万
查看次数

是否有可能在Java中获取未实例化变量的类型?

是否有可能获得在Java中声明(但未实例化)的变量的类型?例如:

public class Foo {

     FooTwo foo2;
     FooTwo foo3;
     FooThree foo4;

     public static void main(String[] args) {
         if (foo2.getClass() == foo3.getClass()) {
             System.out.println("foo2 is the same type as foo3");
         }
         if (foo3.getClass() == foo4.getClass()) {
             System.out.println("foo3 is the same class as foo4");
         }
     }
}
Run Code Online (Sandbox Code Playgroud)

随着输出:

foo2 is the same type as foo3
Run Code Online (Sandbox Code Playgroud)

显然,该方法getClass()不适用于未实例化的变量,因此该代码不起作用.我假设我要查找的信息存储在变量(指针?)的某处,以确保类型安全,并且可以访问它.有可能实现这种比较吗?

原因:我有一个带有几个声明变量的类.这些变量应该指向存储在另一个类的ArrayList中的对象.我正在尝试创建一个方法,将初始化(但未实例化)的变量作为参数,扫描arraylist以查找与初始化变量的类型匹配的对象,并将变量设置为对象(使变量指向对象).

另外:系统的要点是删除类的构造函数中的耦合.无法立即或在构造函数中实例化对象.

java oop pointers object

4
推荐指数
1
解决办法
716
查看次数

标签 统计

java ×1

mysql ×1

networking ×1

nonblocking ×1

object ×1

oop ×1

pointers ×1

python ×1

sockets ×1

sql ×1