diesel_cli设置返回有关DATABASE_URL的错误

问题描述 投票:1回答:1

我正在尝试设置Diesel-CLI,但它总是返回有关DATABASE_URL的错误。

对于这个问题,让我们假设:

  • user = root
  • 密码=#Abcd1234
  • 主机=本地主机
  • database = codeforces
  • mysql服务器套接字= / var / lib / mysql / mysql.sock /

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搜索,但到目前为止没有任何结果。我不知道我在哪里犯错。

所以我的问题是:如何重新解决此错误?

mysql rust database-connection rust-diesel
1个回答
0
投票

我的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'标识;

© www.soinside.com 2019 - 2024. All rights reserved.