MySQL数据迁移

最开始安装的mysql-8.0.16-winx64解压版,发现并没有使用my.ini。所以在迁移需要改动my.ini(实际还是可以不需要)时,遇到麻烦,所以卸载了重新安装了mysql-8.0.18-winx64解压版。

主要使用命令mysqldumpsource(需要配置系统环境变量或者在bin目录下运行)。导出时:

mysqldump -u root -p123456 dbname[–all-databases >] > filename.sql

提示Error warning,密码显式不安全,就导出失败了。

于是在my.cnf(linux)/my.ini(windows)下添加

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
host = 
user=
password=

然后将命令改成为即可。

mysqldump –defaults-extra-file=… \my.ini dbname[–all-databases >] > filename.sql

在服务器上具体备份时:发现提示

mysqldump: Couldn’t execute ‘SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, ‘$.”number-of-buckets-specified”‘) FROM information_schema.COLUMN_STATISTICS

因为新版的mysqldump默认启用了一个新标志,通过- -column-statistics=0来禁用。

导入过程本来利用mysql直接导入失败,所以采取另一种。

  登录mysql,选定数据库(use db),然后执行

souce … \filename.sql 

即可。

 

PS:

  其实可以不修改配置文件,只需要将-p后密码不输入,就会在之后的隐藏式输入即可。

mysqldump –column-statistics=0 -h ip -u root -p dbname > filename.sql

 

    原文作者:mysql
    原文地址: https://www.cnblogs.com/tyrando/p/11740787.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞