xiaoguozi's Blog
Pay it forword - 我并不觉的自豪,我所尝试的事情都失败了······习惯原本生活的人不容易改变,就算现状很糟,他们也很难改变,在过程中,他们还是放弃了······他们一放弃,大家就都是输家······让爱传出去,很困难,也无法预料,人们需要更细心的观察别人,要随时注意才能保护别人,因为他们未必知道自己要什么·····

mysql数据库备份一般使用命令mysqldump,这个命令会在屏幕打印指定数据库、数据表的创建的SQL语句和数据表中数据的插入SQL语句。该命令导出的SQL语句在不同数据库之间是可移植的。

mysqldump还可以同时导出包含sql语句的文件和以特定符号分割的数据文件

 

下面介绍mysqldump的用法:

 

mysqldump的用法有三种:

mysqldump [options] database_name [table1 table2 ...]

备份特定数据库,可以指定特定表,以空格分隔

mysqldump [options] --database database1 database2

备份特定数据库

mysqldump [options] --all-database / mysqldump [options] -A

备份所有数据库

 

mysqldump还有很多选项,下面根据选项的使用频率依次介绍

--user=user_name / -u user_name

连接数据库的用户,-u后面的空格可有可无

--password[=password] / -p[password]

注意-p后面跟密码时,中间不能间隔空格号,表示连接数据库用户对应的密码

--host=host_name / -h host_name

注意-h后面一定要有空格,数据库所在服务器的ip地址或者域名

--port=port_num / -P port_num

服务器上数据库通讯使用的端口号,-P后的空格可有可无

--result-file=file / -r file

指定输出的信息到文件,而终端不输出文字

使用该选项要好于终端的输出重定向,因为重定向可能会发生字符编码的问题

=====================================================================================

--tab=path / -T path

产生tab分割的数据文件。对于每个转储的表,mysqldump创建一个包含创建表的CREATE TABLE语句的tbl_name.sql文件,和一个包含其数据的tbl_name.txt文件。选项值定义写入文件的目录。默认情况,.txt数据文件的格式是在列值和每行后面的新行之间使用tab字符。可以使用--fields-xxx----xxx选项明显指定格式。

需要注意的是:该选项其实是间接调用了两个命令,第一个命令类似SHOW CREATE TABLE,第二个产生数据文件的命令等同于SELECT … INTO OUTFILE '文件路径',所以和SELECT … INTO OUTFILE的特点相同,产生的数据文件只能存到服务器中,而不能存到客户机,所以对指定的目录路径path是针对服务器操作系统的,并且对目录路径path要有读写的用户权限。如果想把类似的数据格式化导出文件存到客户机,可以参考$ >mysql -e "SELECT …  FROM … WHERE … " > file_path

--fields-terminated-by=

该选项连同-T选项一起使用,规定了数据域以什么结束,参数为字符串,默认为\t

--fields-enclosed-by=

该选项连同-T选项一起使用,规定了数据域用什么符号扩起来,默认为空,一般可以是双引号、括号等

--fields-optionally-enclosed-by=

该选项连同-T选项一起使用,规定了数据域可以用什么符号括起来,因为为只有部分数据用这些符号括起来

--fields-escaped-by=

该选项连同-T选项一起使用,规定了转义字符,参数为字符,默认为\

--lines-terminated-by=

该选项连同-T选项一起使用,规定了数据行以什么结束,参数为字符串,windows默认为\r\n

=====================================================================================

--add-drop-database

在每个CREATE DATABASE语句前添加DROP DATABASE语句

--compatible=name

产生与其它数据库系统或旧的MySQL服务器更兼容的输出。值可以为ansi(标准SQL)、mysql323mysql40postgresqloraclemssqldb2maxdbno_key_optionsno_table_options或者no_field_options。同时使用几个选项,要用逗号将它们隔开

No_key_options不输出mysql专用索引选项

No_table_options不输出mysql专用表选项,如ENGINE=MyISAM

No_field_options不输出mysql专用列选项

--compact

产生少量输出该选项相当于--comments=0--skip-add-drop-table--no-set-name--skip-disable-key--skip-add-locking一起使用

--comments[={0|1}]

如果设置为 0,禁止转储文件中的其它信息,例如程序版本、服务器版本和主机。--skip-comments--comments=0的结果相同, 默认值为1,即包括额外信息

--compress / -C

如果客户端和服务器都支持压缩,则压缩双方传送的所有信息

--default-character-set=charset

使用charsetas默认字符集,如果没有指定,mysqldump使用utf8

--delayed-insert

使用INSERT DELAYED语句插入行

--default-character-set=charset

使用charset作为默认字符集

--allow-keywords

允许创建关键字列名应在每个列名前面加上表名前缀

====================================================================================

--opt

该选项应该同时代表优化(optimize)和选项(option)意思,默认开启,相当于同时开启以下多个选项,省得用户每次都键入选项:--add-drop-table --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset。它可以给出很快的转储操作并产生一个可以很快装入MySQL服务器的转储文件。可以用--skip-opt禁用。要想只禁用确信用-opt启用的选项,使用--skip形式;例如,--skip-add-drop-tables--skip-quick

该选项比较重要,但是由于默认开启,所以不常用

--add-drop-table

在每个CREATE TABLE语句前添加DROP TABLE语句

--add-locking

LOCK TABLESUNLOCK TABLES语句引用每个表转储,重载转储文件时插入得更快

--create-option

CREATE TABLE语句中包括所有MySQL表选项

--disable-keys / -K

对于每个表,用ALTER TABLE tbl_name DISABLE KEYS;ALTER TABLE tbl_name ENABLE KEYS;语句引用INSERT语句。因为在插入所有行后创建索引,所以这样可以更快地装载转储文件,该选项只适合MyISAM表。

--extended-insert / -e

默认开启,使用包括几个VALUES的多行INSERT语法。这样使转储文件更小,重载文件时可以加速插入

--lock-tables-l

开始转储前锁定所有表。用READ LOCAL锁定表以允许并行插入MyISAM表。对于事务表例如InnoDBBDB--single-transaction是一个更好的选项,因为它不根本需要锁定表。

--quick-q

该选项用于转储大的表。它强制mysqldump从服务器一次一行地检索表中的行而不是检索所有行并在输出前将它缓存到内存中

--set-charset

SET NAMES default_character_set加到输出中。该选项默认启用。要想禁用SET NAMES语句,使用--skip-set-charset

=====================================================================================

--complete-insert / -c

使用包括列名的完整的INSERT语句

--single-transaction

该选项从服务器转储数据之前发出一个BEGIN SQL语句。它只适用于事务表,例如InnoDBBDB,因为然后它将在发出BEGIN而没有阻塞任何应用程序时转储一致的数据库状态。

当使用该选项时,应记住只有InnoDB表能以一致的状态被转储。例如,使用该选项时任何转储的MyISAMHEAP表仍然可以更改状态。

--single-transaction选项和--lock-tables选项是互斥的,因为LOCK TABLES会使任何挂起的事务隐含提交。要想转储大的表,应结合--quick使用该选项

--lock-all-tables-x

所有数据库中的所有表加锁。在整体转储过程中通过全局读锁定来实现。该选项自动关闭--single-transaction--lock-tables

--hex-blob

使用十六进制符号转储二进制字符串列(例如,'abc' 变为0x616263)。影响到的列有BINARYVARBINARYBLOB

posted @ 2012-08-10 14:35 小果子 阅读(556) | 评论 (0)编辑 收藏
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数
增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0
alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0
alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0
alter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0
alter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0

alter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数
alter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数

alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段 大小 为N(1~255)
alter table [表名] add 字段名 char [null] 增加定长文本型字段 大小固定为255

alter table [表名] add 字段名 Datetime default 函数 增加日期型字段,其中 函数 可以是 now(),date()等,表示缺省值
(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)

删除字段: alter table [表名] drop 字段名

修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)

删除表: drop table [表名]

创建表:
sql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&_
"[字段2] varchar(50),"&_
"[字段3] single default 0,"&_
"[字段4] varchar(100) null,"&_
"[字段5] smallint default 0,"&_
"[字段6] int default 0,"&_
"[字段7] date default date(),"&_
"[字段8] int default 1)"
conn.execute sql

有null 的表示字段允许零长
posted @ 2012-08-01 12:27 小果子 阅读(290) | 评论 (0)编辑 收藏

命令行下具体用法如下: 

mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;

 

 

导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql

 

导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456  database table > dump.sql

 

 

导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database > dump.sql

 

导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database table > dump.sql

posted @ 2012-08-01 12:23 小果子 阅读(202) | 评论 (0)编辑 收藏

1.首先配置apache的httpd.conf,目的是使.htaccess文件生效
<VirtualHost a.b.c.d>
    ServerAdmin a@b.com
    DocumentRoot /var/www/bulknews
    ServerName www.bulknews.cn
<Directory />
      Options FollowSymLinks
      AllowOverride All
</Directory>
ErrorLog  "|/usr/local/sbin/cronolog /var/log/www/wapya/www.bulknews.cn_error_log.%Y%m%d"
CustomLog "|/usr/local/sbin/cronolog /var/log/www/wapya/www.bulknews.cn_access_log.%Y%m%d" combined
</VirtualHost>

注意,这里必须是FollowSymLinks,AllowOverride是All,否则rewrite引擎根本不起作用,另外如果你的apache默认根目录是/var/www 的话,在/var/www的配置字段也要设置
Options FollowSymLinks
 AllowOverride All
我的就因为这个,只是在虚拟主机设置,导致一直不能实现静态页面的转化。

2.在/var/www/bulknews下设置.htaccess文件
我们这边最简单的配置就是
RewriteEngine   on
RewriteBase     /
RewriteRule     (.+)\.html$ show.php?id=$1 [L]

OK,重启web服务,这时候你就可以正常访问http://www.bulknews.cn/1014700.html

另外rewrite还有很多应用,大家可以多去google找一些资料,功能还是很神奇的。
posted @ 2012-07-20 19:54 小果子 阅读(155) | 评论 (0)编辑 收藏
RHEL/Fedora/CentOS yum 安装
1
yum install git git-svn git-email git-gui gitk

从源代码进行编译安装

1. 先下载最新的 git 稳定版源码

1
wget https://git-core.googlecode.com/files/git-1.7.10.tar.gz

2. 解压源码,并进入源码目录

PHP
1
2
tar xzvf git-1.7.10.tar.gz
cd git-1.7.10

3. 编译安装

1
2
./configure prefix=/usr/local
make && make install

可能出现的错误:

a. msgfmt: command not found

解决方法:yum install gettext

b. 安装完毕执行git,提示“git: error while loading shared libraries: libcharset.so.1: cannot open shared object file: No such file or directory”

解决方法:ln -s /usr/local/lib/libcharset.so.1 /lib/libcharset.so.1

4. 安装 Git 命令补全功能

a. 复制命令补全脚本到 /etc/bash_completion.d/ 目录(没有则自行创建)

1
cp contrib/completion/git-completion.bash /etc/

b. 载入 git 命令自动补全脚本,使之在当前的 shell 环境中生效

1
. /etc/git-completion.bash

这时候你就会发现自动补全已经生效了。试试输入”git com”, 再按下 TAB 键看看吧。
c. 为了命令补全功能能在下次启动终端时自动启用,需要在 /etc/profile 与 ~/.bashrc 中添加如下内容:

1
2
3
4
# Git commands autocompletion
if [ -f /etc/git-completion.bash ]; then
    . /etc/git-completion.bash
fi

附:Windows 环境使用 Git 的相关工具

1. Cygwin http://www.cygwin.com/

2. msysGit http://msysgit.github.com/

3. TortoiseGit http://code.google.com/p/tortoisegit/

posted @ 2012-07-17 21:54 小果子 阅读(1798) | 评论 (2)编辑 收藏
仅列出标题
共58页: First 10 11 12 13 14 15 16 17 18 Last