CentOS 升级 mysql 5.1 到 5.6 无法 运行 mysql_upgrade - bash: bT: command not found
CentOS upgrade mysql 5.1 to 5.6 unable to run mysql_upgrade - bash: bT: command not found
我刚刚安装了 mysql 5.6 并从 5.1 导入了一些表格。现在我正在尝试 运行 mysql_upgrade 在 shell 中升级所有表。
sudo mysql_upgrade -u <myuser> -p <mypassword>
[3] 12487
-bash: bT: command not found
我收到上面关于找不到 bT 命令的错误。
尝试谷歌搜索,但似乎没有关于此错误的任何信息。
有什么帮助吗?
盒子是CentOS 7.
谢谢,
您的密码似乎包含特殊字符,例如 $&
或相关内容。
确保按以下方式指定命令:
sudo mysql_upgrade -u <myuser> -p'<mypassword>'
密码应该用引号括起来,没有 space,这样字符会被转义。如果您的通行证包含单引号,也请将其转义。
你在-p和password之间有space,只需按下面输入无密码并传递你的密码即可。
sudo mysql_upgrade -u <myuser> -p
我遇到了类似的问题。几乎相同的场景,但没有使用 mysql_upgrade
。 仅限 MySQL 5.1 到 5.6!... 我 运行 在升级我的一个数据库 table (最大的一个)时遇到了问题,确实没有正确转储并在上传到新服务器时被拒绝,花了很长时间并超时了好几次,所以我不得不做一些书本之外的事情。 (在你下载你的数据库之前,做一个完整的备份、修复、检查和所有需要的维护,这样你就不会在你的新上传中弄乱数据。另外,做一个直接的电汇,不要对大型数据库使用无线。
1 - 我的所有 tables,除了最大的一个,都没有问题地上传(通过 phpmyadmin 从 5.1 到 5.6 MySQL 不同的服务器并排定期导出然后定期导入我的笔记本电脑在中间)
2 - 我进入 MySQL 源数据目录(取决于您的系统,但在 Centos 7 上位于 /var/lib/mysql/)并搜索table 有问题,它有 3 个文件以 table 命名(table_name.MYD、table_name.MYI 和 table_name.FRM)您需要通过 FTP 手动下载这 3 个,例如 Filezilla 或复制到 USB)
3 - 为了以防万一,创建一个目标 空白 temp_database 并将所有权限授予用户。 MySQL 创建一个名为 temp_database 的附加目录,您可以在其中复制 table 的那 3 个文件。 (不需要弄乱升级好的 tables,如果你需要上传所有 tables,你可以继续将所有 tables 文件复制到那个新的临时目录中,不使用 MySQL)
直接复制会更快
4 - 将 table 文件传输到新的目标临时目录后,您将能够在 phpmyadmin(在新服务器上)上看到它们 temp_database,检查 table,确保所有数据和记录都正确、显示和说明。
5 - 由于我们通过 FTP 或 USB 普通副本创建了一个副本,因此显然该文件是 只读 ,并正在执行检查或修复 table 它会告诉你的。您需要对这些文件执行 CHMOD 到 shell,以便 MySQL 可以处理修复。我猜,在修复文件时,它会修复和升级 table 格式或任何其他版本问题。
6 - 当你对 table 感到满意后,你可以插入、更新和删除一条记录作为测试,然后你可以移动 table 或 tables使用 phpmyadmin 到正确的数据库,使一切正常工作。删除那个临时数据库,你就设置好了。
我只在你同样的情况下执行过,从 5.1 升级到 5.6。我不知道相同的过程是否适用于其他版本,还没有尝试过,但是任何阅读本文的人都可以按照我的过程并更新我们是否适用于其他版本的 MySQL 或其他数据库,例如 MariaDB,让我们知道。
希望对您有所帮助。干杯。
我刚刚安装了 mysql 5.6 并从 5.1 导入了一些表格。现在我正在尝试 运行 mysql_upgrade 在 shell 中升级所有表。
sudo mysql_upgrade -u <myuser> -p <mypassword>
[3] 12487
-bash: bT: command not found
我收到上面关于找不到 bT 命令的错误。
尝试谷歌搜索,但似乎没有关于此错误的任何信息。
有什么帮助吗?
盒子是CentOS 7.
谢谢,
您的密码似乎包含特殊字符,例如 $&
或相关内容。
确保按以下方式指定命令:
sudo mysql_upgrade -u <myuser> -p'<mypassword>'
密码应该用引号括起来,没有 space,这样字符会被转义。如果您的通行证包含单引号,也请将其转义。
你在-p和password之间有space,只需按下面输入无密码并传递你的密码即可。
sudo mysql_upgrade -u <myuser> -p
我遇到了类似的问题。几乎相同的场景,但没有使用 mysql_upgrade
。 仅限 MySQL 5.1 到 5.6!... 我 运行 在升级我的一个数据库 table (最大的一个)时遇到了问题,确实没有正确转储并在上传到新服务器时被拒绝,花了很长时间并超时了好几次,所以我不得不做一些书本之外的事情。 (在你下载你的数据库之前,做一个完整的备份、修复、检查和所有需要的维护,这样你就不会在你的新上传中弄乱数据。另外,做一个直接的电汇,不要对大型数据库使用无线。
1 - 我的所有 tables,除了最大的一个,都没有问题地上传(通过 phpmyadmin 从 5.1 到 5.6 MySQL 不同的服务器并排定期导出然后定期导入我的笔记本电脑在中间)
2 - 我进入 MySQL 源数据目录(取决于您的系统,但在 Centos 7 上位于 /var/lib/mysql/)并搜索table 有问题,它有 3 个文件以 table 命名(table_name.MYD、table_name.MYI 和 table_name.FRM)您需要通过 FTP 手动下载这 3 个,例如 Filezilla 或复制到 USB)
3 - 为了以防万一,创建一个目标 空白 temp_database 并将所有权限授予用户。 MySQL 创建一个名为 temp_database 的附加目录,您可以在其中复制 table 的那 3 个文件。 (不需要弄乱升级好的 tables,如果你需要上传所有 tables,你可以继续将所有 tables 文件复制到那个新的临时目录中,不使用 MySQL)
直接复制会更快4 - 将 table 文件传输到新的目标临时目录后,您将能够在 phpmyadmin(在新服务器上)上看到它们 temp_database,检查 table,确保所有数据和记录都正确、显示和说明。
5 - 由于我们通过 FTP 或 USB 普通副本创建了一个副本,因此显然该文件是 只读 ,并正在执行检查或修复 table 它会告诉你的。您需要对这些文件执行 CHMOD 到 shell,以便 MySQL 可以处理修复。我猜,在修复文件时,它会修复和升级 table 格式或任何其他版本问题。
6 - 当你对 table 感到满意后,你可以插入、更新和删除一条记录作为测试,然后你可以移动 table 或 tables使用 phpmyadmin 到正确的数据库,使一切正常工作。删除那个临时数据库,你就设置好了。
我只在你同样的情况下执行过,从 5.1 升级到 5.6。我不知道相同的过程是否适用于其他版本,还没有尝试过,但是任何阅读本文的人都可以按照我的过程并更新我们是否适用于其他版本的 MySQL 或其他数据库,例如 MariaDB,让我们知道。
希望对您有所帮助。干杯。