Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
Run Code Online (Sandbox Code Playgroud)
尝试使用PHP本地服务器上的脚本连接到 Hostgator 上的 MySQL 数据库服务器时出现上述错误。我知道这是一个密码散列问题,通常在 MySQL 4.1 之前和 MySQL 4.1+ 之间。
我已经按照我在此处找到的说明更改了我的本地服务器以使用 old_password 。
改成16位hash后,还是连接不上,报错信息还是一样。更重要的是,我无法再登录到phpmyadmin. 我XAMPP在windows上用。请就如何解决这些问题提出任何建议?
我正在写一个drop语句(在 phpMyAdmin 中)来删除我数据库中一些不需要的表。如果我对我们的实时数据库运行此查询,我将看不到完整的 drop 语句(它在 50 个字符后被截断)。如果我针对该数据库的副本运行它,则会返回完整的语句。
任何想法为什么行为会有所不同?
SET GROUP_CONCAT_MAX_LEN=10000;
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_schema = 'dbname' AND table_name LIKE 'prefix%';
Run Code Online (Sandbox Code Playgroud) 我有一个使用 mysqldump 导出的 mysql 8.0。我正在尝试使用 phpmyadmin 将它导入到 Mariadb 10.4 数据库中,两者都是最新版本。每次我这样做时,我都会得到:
Error: Unknown collation utf8mb4_0900_ai_ci
Run Code Online (Sandbox Code Playgroud)
然后我回到 sql 文件并替换utf8mb4_0900_ai_ci为utf8mb4_general_ci,但是它说各种CREATE VIEWsql 语句都有错误。我可以尝试其他快速、无错误的修复吗?
我刚刚设置了 phpMyAdmin,但遇到了这个问题:登录时,我看不到任何表格。
我曾在 MySQLWorkbench 上尝试过这个,但得到了相同的结果。
有什么建议 ?
是否可以使用 2 个自动增量值?
请帮我
作为 CMS,我使用 Wordpress。我想导出整个类别(Windows 8),所以我运行 SQL 命令:
SELECT * FROM wp_posts
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE (wp_term_taxonomy.term_id = 15
AND wp_term_taxonomy.taxonomy = 'category'
AND wp_posts.post_type = 'post'
AND wp_posts.post_status = 'publish');
Run Code Online (Sandbox Code Playgroud)
我得到了表,但后来我无法导出为 SQL(没有选项) - 很奇怪。有没有办法只将选定的表导出为 SQL?

我使用phpMyAdmin->export创建我的数据库的备份,但我现在发现它没有导出整个数据库,一些表被遗漏/拒绝。
然而,在进行导出时,我还保存了位于mysql/data/的整个数据目录,其中包含许多.ibd和.frm文件类型,这似乎反映了我曾经拥有的表。
我试图复制整个数据目录并将其粘贴到我的新设置中,但我不确定MySQL / phpMyAdmin的版本是否相同,如何从旧数据目录中找到 MySQL 版本?可能在那些.frm / .ibd文件之一中?
当我粘贴整个数据文件夹时,数据库中的某些表正常工作,但有些表显示以下错误。
#1033 - Incorrect information in file: '.\db\a_table.frm'
Run Code Online (Sandbox Code Playgroud)
此外,似乎每个显示相同错误消息的表都在phpMyAdmin的Structure视图中的Collation下标记为正在使用
我能做些什么来解决这个问题?这是什么意思?
我想知道如果我重新创建我的旧操作系统设置,它可以工作吗?有没有更好的办法?
如何永久打开 mysqld 中的事件调度程序?我正在使用 phpMyAdmin,我已经安排了一个事件,每天在特定时间将记录从一个表复制到另一个表,但记录并不是每天都被复制。我试过设置事件调度程序。
SET GLOBAL event_scheduler="ON";
Run Code Online (Sandbox Code Playgroud)
当我重新启动我的电脑时,事件调度程序被关闭。如何使它始终打开,并且在重新启动 mysqld 时不关闭?
我现在有两个正在运行的 VPS。其中一个(我将其称为“旧”服务器)在Debian 7上运行,并给出以下输出mysql --version:
mysql Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) using readline 6.2
另一个,我将其称为“新”服务器,正在全新安装的Debian 8上运行,并给出以下输出:
mysql Ver 15.1 Distrib 10.0.20-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
我正在尝试将我的数据库和表从旧服务器移动到新服务器。我认为我可以通过简单地/var/lib/mysql/从旧服务器复制目录并覆盖新服务器上的相同目录来做到这一点。但是,执行此操作后,当我单击任何表或数据库时,我现在在新服务器上的 phpMyAdmin 中收到此错误:
#1932 - Table 'phpmyadmin.pma__tracking' doesn't exist in engine
但我可以清楚地看到它的存在:
有针对这个的解决方法吗?我不确定我做错了什么。谢谢!
我在数据库表中有 120 万条记录(它也使用索引列)
我想删除旧的 100 万条记录。我尝试使用 PhpMyadmin 执行此操作,但需要更多时间。
DELETE FROM `table` WHERE `id` < 1000000
Run Code Online (Sandbox Code Playgroud)
有什么办法可以快速做到吗?
我还有一个问题:如果我在命令行中使用 SSH 客户端执行此操作,速度会很快吗?