我正在尝试设置Diesel-CLI
,但它总是返回有关DATABASE_URL的错误。
对于这个问题,让我们假设:
For DATABASE_URL=mysql://root:#Abcd1234@localhost/codeforces
and DATABASE_URL=mysql://root:#Abcd1234@localhost/codeforces.sql?socket=(/var/lib/mysql/mysql.sock)
错误:未知的MySQL服务器主机'root'(-2)
For DATABASE_URL=mysql://root@localhost/codeforces
and DATABASE_URL=mysql://root@localhost/codeforces?socket=(/var/lib/mysql/mysql.sock)
错误:无法通过套接字'/run/mysql/mysql.sock'(2)连接到本地MySQL服务器
For DATABASE_URL=mysql://[email protected]/codeforces
错误:对用户'root'@'localhost'的访问被拒绝(使用密码:否)
For DATABASE_URL=mysql://root:#[email protected]/codeforces
错误:未知的MySQL服务器主机'root'(-2)
我已经尝试使用Google搜索,但到目前为止没有任何结果。我不知道我在哪里犯错。
所以我的问题是:如何重新解决此错误?
我的DATABASE_URL无法正常工作,因为我在URL中使用了保留字符。
从RFC 1738规范:
仅可使用字母数字,特殊字符“ $ -_。+!*'()”和用于保留目的的保留字符,而不在URL中对其进行编码。
对于那些将'localhost'更改为'127.0.0.1'时遇到此错误的人:
错误:无法加载插件caching_sha2_password:/usr//usr/lib64/mysql/plugin//caching_sha2_password.so:无法打开共享对象文件:没有这样的文件或目录
尝试执行此操作(对我有用):
mysql> ALTER USER'yourusername'@'localhost'用mysql_native_password通过'yourpassword'标识;