- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在学习 SQL 语言,并尝试在 Linux Mint 上使用 MySQL 来测试我的工作,但是我遇到了诸如 ERROR 1044 之类的问题。我尝试遵循这里的各种建议,但随后遇到了不同的问题错误代码,然后在尝试解决新问题时我看到了另一个错误代码,在尝试解决另一个新问题时我看到了另一个错误代码,并重复了令人作呕的内容。所以我从头开始,希望我的特定问题能够得到解决。
我试过了
mysql> USE preciousMetals;
ERROR 1044 (42000): Access denied for user 'phpmyadmin'@'localhost' to database 'preciousMetals'
检查了这个
mysql> show grants;
+--------------------------------------------------------------------+
| Grants for phpmyadmin@localhost |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'phpmyadmin'@'localhost' |
| GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO 'phpmyadmin'@'localhost' |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
我在提示符中输入这个命令
mysql> select user ();
+----------------------+
| user () |
+----------------------+
| phpmyadmin@localhost |
+----------------------+
1 row in set (0.00 sec)
然后这个
mysql> select current_user ();
+----------------------+
| current_user () |
+----------------------+
| phpmyadmin@localhost |
+----------------------+
1 row in set (0.00 sec)
我想让这个问题暂时保持整洁和“小”,这样它就不会到处都是。我要补充一点,我试图像一些帖子所说的那样以 root 身份进入,但我没有密码。在安装过程中,我从来没有为用户设置 root 密码。我尝试了用户密码和错误。试图寻找它或重置它,显然我没有任何特权或权利或其他东西。我试图解决这个问题,你知道的,另一个错误。 >:哦
有人可以帮忙解决 ERROR 1044 吗?我遇到这么多问题是有原因的吗?它是有问题的 RDBMS 还是与我的实际计算机及其处理方式有关的问题?是否有一个很好的解决方案来摆脱所有问题并仅使用 RDBMS 而无需需要一些程序集。
最佳答案
Is it a buggy RDBMS ... ?
这不是错误,这是一个功能!
(我无法不讽刺地告诉你我等了多久才说出这句话。)
您的授权表明您的 phpmyadmin 用户仅对 phpmyadmin 数据库具有权限。
特权USAGE ON *.*
意味着您可以连接到 MySQL 服务器,但这并不意味着您对该服务器上的任何数据库都有任何权限。
特权ALL PRIVILEGES ON
phpmyadmin .*
意味着您对 phpmyadmin 数据库的所有表都有权限。您对任何其他数据库都没有特权。所以当你尝试 USE preciousMetals;
它立即拒绝请求。
您无权访问某些特定资源这一事实并不是软件中的错误。
打个比方,这就像在 Linux 上,如果您尝试 cd <directory>
如果您没有这样做的权限。如果你这样做,你会——正确地——得到一个错误。
$ cd secret_directory
-bash: cd: secret_directory: Permission denied
您需要授予 phpmyadmin 用户更大的权限。您可以访问 root
吗? MySQL账户?这通常是拥有所有数据库的所有权限的人,并且能够将权限授予其他 MySQL 用户。
至于您的第二个问题,至少有一个其他 SQL 数据库产品根本不强制执行 GRANT/REVOKE 或特权:SQLite .只要您有权在 Linux 级别打开数据库文件,您就可以自由访问其中的所有表。没有实现访问权限系统。但是 SQLite 并不完全是 MySQL 的替代品。不支持并发多用户访问、网络连接或您可能需要的许多其他功能。
对于 MySQL,您可以在不强制执行密码或权限的模式下运行它。
/etc/my.cnf
)。添加禁用强制执行的选项。这应该位于 [mysqld]
下方的任何位置选项文件中的选项组。
[mysqld]
skip_grant_tables
重新启动 mysqld 进程。这是以 Linux root 用户身份使用 shell 命令完成的:
$ sudo service mysql restart
之后,您将不需要输入密码,也不会强制执行 SQL 权限。
这显然不是您将 MySQL 用于实时应用程序的方式,因为它会危及所有安全性。但是,如果您在特权方面苦苦挣扎,而只想在本地实例上学习 SQL,那就继续吧。
关于mysql - 如何正确解决 mySQL 上的 ERROR 1044?这里的其他答案不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52153725/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!