备份或恢复数据库遇到Unknown command ‘\\‘暨sql导入云服务器遇到字符编码,文件传输问题解决方案

举报
cod 发表于 2021/11/26 17:52:43 2021/11/26
【摘要】 今天想将学习资料下的sql文件放到Mysql中,因为后面有大量的表需要创建,所以想弄进去.在执行 source d:\ecshop.sql的时候,又出现了上次 的问题,上次是分别更改server database client 等为 utf8来解决的,可是这样修改不是永久修改,关闭服务的时候,又会恢复默认编码.所以找教程,在/etc/my.cnf下添加了character_set_serve...

今天想将学习资料下的sql文件放到Mysql中,因为后面有大量的表需要创建,所以想弄进去.
在执行 source d:\ecshop.sql的时候,又出现了上次 的问题,上次是分别更改server database client 等为 utf8来解决的,可是这样修改不是永久修改,关闭服务的时候,又会恢复默认编码.
所以找教程,在/etc/my.cnf下添加了

character_set_server=utf8  
init_connect='SET NAMES utf8

然后重启Mysql服务

systemctl restart mysqld.service

但是重启的时候报错

Job for mysqld.service failed because the control process 
exited witherror code. See "systemctl status mysqld.service"
 and "journalctl -xe" for details.

提示说使用journalctl -xe查看,经过查询
发现my.cnf文件配置不成功就会出现这类问题,返回去查询后,
发现utf8后面少个’
添加进去后,还是不行
翻译整个journalctl -xe发现,有句话 不能建立临时文件“/var/lib/mysql/temp/ib1GIFsS”
搜索后,修改配置文件指定temp的存放路径
在配置文件里面添加一句“temdir=/var/lib/mysql/temp/”
建立文件夹,授权

[root@localhost etc]# mkdir -p /var/lib/mysql/temp
[root@localhost etc]# chown mysql.mysql /var/lib/mysql/temp

/var/lib/mysql/temp的属主和属组还是root,mysql并不能在其中创建文件,后修改该目录的属主和属组
重启systemctl restart mysqld.service
登录mysql,成功
查看数据库编码格式

show variables like 'character%';

已经改过来了
Source不报错了,发现云服务器不能访问本地文件,上次还可以来着,….
不知道啥原因
最后只好用ssh将文件上传到服务器,然后再进行导入,最后成功导入,不用自己创建了.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。