gpt4 book ai didi

mysql - 将 MySQL DB 移动到另一台计算机(Ubuntu、14.04 和 16.04)后出错

转载 作者:行者123 更新时间:2023-11-29 20:25:55 25 4
gpt4 key购买 nike

我正在尝试将 MySQL 数据库从版本 14.14 Distrib 5.5.50 移动到另一台具有 14.14 Distrib 5.7.13 的计算机(两台计算机分别是 Ubuntu、14.04 和 16.04)-

我总是设法使用这些命令来做到这一点:

1) 在原始计算机上备份:

用户:

$ MYSQL_CONN="-uroot -ppassword"
$ mysql ${MYSQL_CONN} --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | mysql ${MYSQL_CONN} --skip-column-names -A | sed 's/$/;/g' > ${TEMP_DIR}"/"${MYSQL_DIR_NAME}"/users.sql"

数据库:

$ mysqldump -uroot -ppassword --all-databases > ${TEMP_DIR}"/"${MYSQL_DIR_NAME}"/databases_TMP.sql"

2) 在命运计算机上恢复:

用户:

$ mysql -uroot -ppassword < users.sql

数据库:

$ mysql -uroot -ppassword < databases_TMP.sql

直到现在它一直对我有用。

这一次,无论我采取这些步骤的顺序或对参数进行任何组合/修改,它都不起作用,而且我无法弄清楚为什么它不起作用。

每次完成该过程时,当我启动 MySQL Workbench 并单击任何用户时,我都会立即收到此错误消息:

“未处理的异常:‘NoneType’类型的对象没有 len()”

我不知道我能做些什么来解决这个问题,所以任何想法都会受到欢迎。

最佳答案

以防万一其他人也遇到同样的问题:

使用 mysqldump 命令而不是我在问题中发布的命令效果很好:

$ mysqldump -uroot -ppass --all-databases > databases.sql

但是,由于两台计算机上的 MySQL 版本不同,我还必须解决另一个问题:

MySQL unknown column 'password_last_changed'

现在我终于一切都恢复正常了。

关于mysql - 将 MySQL DB 移动到另一台计算机(Ubuntu、14.04 和 16.04)后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com