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

111 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

学习MySQL的时候想将学习资料下的sql文件放到Mysql中,因为后面有大量的表需要创建,所以想弄进去,当时不熟悉linux服务器的基本操作,所以一直在搜索解决方案。最后整理如下。 在执行 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将文件上传到服务器,然后再进行导入,最后成功导入,不用自己创建了.