Posts Tagged ‘ Linux ’
[MySQL]数据库的备份与还原
数据库汇出/备份
1. 备份单一数据库:
$ mysqldump -u Username -p --opt DatabaseName > Backup.sql
2. 仅备份特定数据库下的资料表:
$ mysqldump -u Username -p --opt DatabaseName Table1 Table2... > Backup.sql
3. 仅汇出资料表结构:
$ mysqldump -u Username -p --opt --no-data DatabaseName > Backup.sql
4. 备份全部的数据库:
$ mysqldump -u Username -p -A --opt > AllBackup.sql
mysql/mysqldump/mysqladmin 与“登入”有关的参数说明:
- -u Username: 用来存取 mysql 资料表的用户名称。此参数可省略,若省略,则表示为目前登入 linux 的用户名称。
- -p: 于执行时再询问密码。
- -pPassword: 用来存取 mysql 资料表的密码,-p 与 Password 的中间不可有空格。
数据库汇入/还原
1. 建立数据库,再从备份档汇入单一数据库:
$ mysqladmin -u Username -p create DatabaseName
$ mysql -u Username -p DatabaseName < Backup.sql
2. 从备份档汇入全部的数据库 (不需先建立数据库):
$ mysql -u Username -p < AllBackup.sql
状况处理:
状况 1.
汇入数据库时出现错误讯息: Unknown collation: 'utf8mb4_unicode_ci' 或 Unknown collation: 'utf8mb4_unicode_520_ci'
说明:
MySQL 于 v5.5.3 版之后才有“utf8mb4”的编码格式。原本 utf8 的最大编码长度为 3bytes,而 utf8mb4 的最大编码长度为 4bytes,因此它比 utf8 可以储存更多的字符。但是以常用的文字来讲,utf8 已经完全足够使用了。若不升级 MySQL Server,则只须将汇入的字符编码格式改为原本的 utf8。
解决方法:
先将备份档中的 utf8mb4 字串替换成 utf8: (以下的三行指令需依照顺序执行)
$ sed -i 's/utf8mb4_unicode_ci/utf8_general_ci/g' Backup.sql $ sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' Backup.sql $ sed -i 's/utf8mb4/utf8/g' Backup.sql
全部替换完再进行汇入:
$ mysql -u Username -p DatabaseName < Backup.sql
状况 2.
以 mysqldump 汇出数据库时出现错误讯息: Got error: 1044: Access denied for user 'backup'@'localhost' to database 'test' when using LOCK TABLES
说明:
这错误讯息已说明了用来执行 mysqldump 的帐号没有“LOCK TABLES”权限! 通常用 root 帐号汇出数据库不会发生这个问题,因为我们会给 root 所有的权限。然而我们在设定其它帐号时可能会忘了给它设定“LOCK TABLES”权限,而执行 mysqldump 至少需要“SELECT”与“LOCK TABLES”权限才行,最好再加上“SHOW VIEW”、“EVENT”与“TRIGGER”。
解决方法:
重新授予用户权限:
grant SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER on *.* to 'backup'@'localhost' identified by '{Password}';
flush privileges;
状况 3.
从 cpanel 下载的 MySQL 档案格式为 *.gz,可以用 gunzip 解压缩:
$ gunzip Backup.sql.gz
注意: 使用 gunzip 解压缩后,原本的 *.gz 会被删除!!若要保留旧档,须改用下列指令:
$ gunzip -c Backup.sql.gz > Backup.sql
数据库离线备份/还原
MySQL 的数据库放在 /var/lib/mysql 下,以数据库的名称做为目录的名称。直接将 /var/lib/mysql 下的数据库目录用 tar 指令个别压缩起来即可做为备份。要还原再把档案解压缩回去。
要以这种方式执行备份与还原都必须先停止 MySQL 的服务:
$ service mysqld stop
参考网页
修复 Linux 开机出现档案系统有不一致性 (UNEXPECTED INCONSISTENCY) 的错误问题
Linux 无法正常开机,出现错误讯息:
Checking filesystems /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D to continue):
错误讯息指出 /dev/sda1 分割区有不一致性的问题!!
Linux 电子邮件防毒: ClamAV + Sendmail
本文要介绍的 Linux 的 E-Mail 防毒主要由两个套件组成: clamav 与 clamav-milter。
其中“clamav”是防毒软件、“clamav-milter”是 clamav 用来与 sendmail 整合的扫毒程式。
如何检测 logrotate 的错误
logrotate 的主要功能是将旧的 log 档改档名,并建立一个新的档案来让 syslog 存放新的 log。
错误状况
我的 Linux 系统都有持续在写入 log,但是单一的 log 档档案过大,表示已经有几个月没有执行 logrotate 了! 因此研判 syslog 的功能是正常的,可能是 logrotate 的运作出了问题。
CentOS 6.x 安装 nslookup 的步骤 (与 yum 如何查询套件)
在 Linode VPS 布署的 CentOS 6.x 已经没有 nslookup 这个工具程式了!!
以下将借由安装 nslookup 的同时,顺便也复习一下 yum 的查询套件功能...
Linux 站长请检测您的网站是否有 OpenSSL 的 Heartbleed 严重漏洞
OpenSSL Heartbleed 漏洞
Linux 站长请检测您的网站是否有 OpenSSL 的 Heartbleed 严重漏洞,此漏洞会造成加密的封包在网络上被截取:
- OpenSSL 影响版本: 1.0.1 ~ 1.0.1f / 1.0.2-beta ~ 1.0.2-beta1
- OpenSSL 修复版本: 1.0.1g / 1.0.2-beta2
检测方法
至“Test your server for Heartbleed”输入你的网站网址做检测。
参考网页
- OpenSSL CVE-2014-0160 Heartbleed 严重漏洞 | DEVCORE 戴夫寇尔
- CVE - CVE-2014-0160
- Test your server for Heartbleed (CVE-2014-0160)
- https://www.openssl.org/news/secadv_20140407.txt
Linode VPS 磁盘容量加倍与扩充方法
Linode VPS 自从四月的“内存容量加倍”的优惠升级之后,最近又有新的惊喜了,Linode 干脆就来个“磁盘容量加倍”免费大放送,每个方案的磁盘容量都加倍,人人都有奖,不过要去领取才行。
CentOS 5/6 快速安装 VPN Server (PPTP)
“VPN”是一种常用于中、大型企业或团体与团体间的私人网络的通讯方法。借由 VPN 所建立的加密通道,可以让你从外部存取公司内部的资源,或透过连线到 VPN 的 Server 当跳板,去存取被限制的外部资源 (俗称“翻墙”)。
在使用 VPN 之前,你得先有一台提供服务的 VPN Server,现在满多人会去租用国外的 VPS 当 Server,要架站兼翻墙,Linode 是不错的选择。
以下把握几个重点即可快速完成 Linux 的 PPTP 的 VPN Server 架设:
- PPP - 点对点协定 (Point-to-Point Protocol)
- PPTP - 点对点通道协定 (Point-to-Point Tunneling Protocol)
- iptables - 设定封包转发规则
安装步骤
1. 判断 ppp 是否可用:
$ cat /dev/ppp
cat: /dev/ppp: No such device or address
如果出现跟上面一样的讯息“No such device or address”,那不用担心,这表示 ppp 是可用的,可以正常架设 pptp。
如果出现的是“Permission denied”,表示 ppp 是关闭的,下面的步骤就可以不用再看了。
Read more
INFORMATION
我们解决了什么问题?我们创造了什么价值?
近期回响