mysql数据库还原出错解决手记(Incorrect string value/ERROR:Unknown command '\\')

MySQL还原.sql备份格式的数据,有时会遇到错误,原因可能是字符集错误,经验上至少包括Incorrect string value 与 ERROR:Unknown command 这两个错误,可以考虑在导入脚本上加入 --default-character-set 参数指定.sql文件字符编码;特别的,如果包含表情符等字符的,最好使用 utf8mb4 而不是utf8。

一个具体案例,如下截图所示,

ERROR 1366 (22007) at line xx: Incorrect string value: '\xF0\x9F\x8C\xBF' for column xx at row x

备份文件包含了 create table 语句,实际还原时要忽略掉这部分,因此使用 sed过滤掉前面46行。原来以为这种错误行很少,加了--force参数忽略错误行而继续,但太多,于是Ctrl-c中止了。之后加上 --default-character-set=utf8mb4 参数,就顺便执行,没有错误。
-------------- 下面是多年前的老版本文件,仅为参考而保留 ---------------

使用mysql命令行客户端,使用source导入备份文件,但导入中出错,

ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\''.
ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\''.
ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\''.
ERROR:
Unknown command '\\'.
ERROR:
Unknown command '\''.

并且直接出现win32程序错误的提示,mysql客户端自动退出。

上网查询有人说是编码问题,在连接服务器端时命令中指定编码,如下形式

>mysql -uroot -pxxxxxx --default-character-set=utf8

要还原的数据库本身是gbk编码,但备份文件是utf-8,于是在连接时指定为gbk,但导入中照样出错。于是改用utf-8,出上命令行所未,居然好了,完全导入成功,2G多的数据库。

看来mysql的字符编码问题还要多多了学习,有点深奥。

是为手记20110526

------ 后记 20110603-------------------

一定要在连接mysql时,使用--default-character-set=utf8 参数,而不是在连接后使用 set names utf8 ,经测试,这样不行的。

ssh无密码登入设置(完全版)/linux下免输入密码ssh登录

配置ssh不需要密码登录远程主机,网上有很多文章,但好像完整的不多,笔者参照操作,但得到消息:

Agent admitted failure to sign using the key.

原来是没有启动ssh-agent及把私钥加入到ssh-agent,参考如下文章得以解决问题。下文是完整的配置无密码登录ssh远程主机的方法,推荐参阅。

[注]正文来自http://www.jiangmiao.org/blog/559.html,在此表示感谢!

 

现有2台机器

1、服务器192.168.1.112

2、个人机192.168.1.110

要使110无需密码通过ssh登入112

步骤

1、创建密钥

miao@u32-192-168-1-110:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): (忽略)
Enter same passphrase again: (忽略)
Your identification has been saved in /home/miao/.ssh/id_rsa.
Your public key has been saved in /home/miao/.ssh/id_rsa.pub.

2、复制公密到服务器

miao@u32-192-168-1-110:~/.ssh$ scp id_rsa.pub miao@192.168.1.112:/home/miao/.ssh/192.168.1.110
miao@192.168.1.112's password:
id_rsa.pub                                                                   100%  404     0.4KB/s   00:00
miao@u32-192-168-1-110:~/.ssh$

3、添加公密到192.168.112的信任区域

miao@debian-192-168-1-112:~/.ssh$ cat 192.168.1.110 >> authorized_keys
miao@debian-192-168-1-112:~/.ssh$

注: 2,3两步可由命令ssh-copy-id一步到位

miao@ubuntu-192-168-1-110:~/.ssh$ ssh-copy-id miao@192.168.1.112
Password:
Now try logging into the machine, with "ssh 'miao@192.168.1.112'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

4、启动ssh-agent

如果ssh 192.168.112返回 Agent admitted failure to sign using the key
ps -Af | grep agent查看有无ssh-agent有无运行,若没有

miao@u32-192-168-1-110:~/.ssh$ ssh-agent

5、添加id_rsa到ssh-agent

miao@u32-192-168-1-110:~/.ssh$ ssh-add id_rsa

6、完成

from http://www.jiangmiao.org/blog/559.html

高级Bash脚本编程指南

一本深入学习shell脚本艺术的书籍

http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/abs-3.9.1_cn/html/

 

高级Bash脚本编程指南

一本深入学习shell脚本艺术的书籍

Mendel Cooper

<thegrendel@theriver.com>

春敏 杨 -

毅 黄 -

3.9.1

2006年5月26日

这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本.

这本书也可作为教材来讲解一般的编程概念.

本文档的最新版本是作为一个归档文件bzip2-ed, "tar包"来发布的, 其中还包括SGML源代码和编译好的HTML版本. 读者可以从作者的主页上下载. pdf版本也可以从作者的主页上下载. 查看change log来查看校订历史.

[转]如何选择开源许可证?/GPL,LGPL,Mozila, BSD,MIT,Apache等许可证区别

如何为代码选择开源许可证,这是一个问题。

世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPLBSDMITMozillaApacheLGPL----之中做选择,也很复杂。

乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。

下面是我制作的中文版,请点击看大图。

(完)

作者: 阮一峰

原文:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

本文转载自: http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
收藏此资讯

from  http://www.oschina.net/news/17643/how-to-choose-opensource-license