Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402086
  • 博文数量: 112
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-29 13:41
文章分类

全部博文(112)

文章存档

2020年(1)

2018年(10)

2017年(27)

2016年(18)

2015年(31)

2014年(25)

分类: Mysql/postgreSQL

2014-12-23 11:26:40

一、mysql(客户端链接工具)
1、连接选项
     -u,--user=name   指定用户名;
     -p,--password[=name]   指定密码;
     -h,--host=name    指定服务器ip或者域名;
     -P,--port=#    指定连接端口;
       例:mysql -uroot -p‘密码’ -P'端口' -h host;
       查看当前链接用户: select current_user();

2、客户端字符集选项
     --default-character-set=charset-name
        例:mysql -u user --default-character-set=charset(字符集); #mysql命令行手动指定客户端字符集; 
               set names charset;  #mysql客户端连接成功后执行;
               show variables like 'chara%';  #查看字符集;

3、执行选项
    -e,--execute=name    执行sql语句并退出;
            mysql -u root -p‘密码 mysql(库名) -e "select user,host from user"
            mysql -u root -psxm5423839 -e "select name from pro_file;select ename from xianmin" minmin  #连续执行多个sql语句;   
   

4、格式化选项
    -E,--vertical     将输出方式按照字段顺序竖着显示;
    -s,--silent        去掉mysql中的线条框显示;
  
          mysql -u root -p passwd mysql -e "select user,host from user" -E;  #命令行直接查看数据库mysql表user;
           mysql -s -uroot minmin;select * from pro_file;   #在mysql安静模式下,输出将去掉表格的线条框;


5、错误处理选项
    -f,--force      跳过出错sql,强制执行后面sql;
    -v,--verbose  显示更多信息;
    --show-warnings   显示警告信息;
           例: mysql> desc Myisam_char;
+-------+--------+------+-----+---------+-------+
| Field | Type   | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| name  | int(2) | YES  |     | NULL    |       | 
+-------+--------+------+-----+---------+-------+
1 row in set (0.00 sec)
                 
5.1、编辑一个sql文件Myisam_char.sql:
                     insert into t2 values(1);
                      insert into t2 values(2a);
                      insert into t2 values(3);
                   
5.2、不加参数执行:mysql -uroot minmin #因为表字段类型为整型,所以插入内容2a会报错;
                     
ERROR 1054 (42S22) at line 2: Unknown column '2a' in 'field list'  
                    5.3、 查看导入的记录:mysql -uroot minmin -e 'select * from Myisam_char'  #只有第一条记录执行成功;
                      +------+
                       | name |
                       +------+
                         |    1 |           
                     
5.4、加-f参数重新导入:mysql -uroot minmin -f                      5.5、加-v参数重新导入:mysql -uroot minmin -f -v
                             mysql -uroot minmin -e 'select * from Myisam_char'   #查看出错后的sql依然能成功插入的数据信息;
                     
5.6、修改该测试数据,将2a记录修改为超出int数据类型范围(2147483647)的数据
                     5.7、加上--show-warnings选项查看导入表Myisam_char
                             mysql -uroot -v --show-warnings minmin   

                             
Warning (Code 1264): Out of range value adjusted for column 'name' at row 1 #提示插入的值超出了字段的范围,通过--show-warnings选项可以很容易的找到错误数据;


二、myisampack(myisam存储引擎的表压缩工具)
                       myisampack是一个表压缩工具,可以使用很高的压缩率来对myisam存储引擎的表进行压缩,使得压缩后的表占用比压缩前小得多的磁盘空间。但压缩后的表也将成为一个只读表,不能进行DML操作。

三、mysqladmin(mysql管理工具)
                       mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前的状态,创建并删除数据库等。
                         例:mysqladmin -u用户 -p密码 shutdown

四、mysqlbinlog(日志管理工具)
                        mysqlbinlog管理服务器生成的二进制日志文件。
                       -d,--database=name    指定数据库名称,只列出指定的数据库相关操作;
                       -o,--offset=#              忽略掉日志中的前n行命令;
                        -r,--result-file=name    将输出的文本格式日志输出到指定文件;
                       -s,--short-form            显示简单格式,省略掉一些信息;
                       --set-charset=char-name   在输出为文本格式时,在文件第一行加上set names char-name,这个选项在某些情况下装载数据时,非常有用;
                       --start-datetime=name  --stop-datetime=name   指定日期间隔内的所有日志;
                       --start-position=#    --stop-position=#      指定位置间隔内的所有日志。

五、mysqlcheck(myisam表维护工具)
                      mysqlcheck客户端工具可以检查和修复myisam表,还可以优化和分析表。
调用mysqlcheck的三种方式:
                      mysqlcheck[options]  db_name [tables];
                      mysqlcheck[options]  --database DB1 [DB2 DB3...];
                      mysqlcheck[options]  --all-database;
option常用选项:
                      -c,--check      检查表(默认选项)
                      -r,--repair      修复表
                      -a,--analyze    分析表
                      -o,--optimize   优化表
1、mysqlcheck -uroot -c minmin;
2、mysqlcheck -uroot -r minmin;
3、mysqlcheck -uroot -a minmin;
4、mysqlcheck -uroot -o minmin;

六、mysqldump(数据导出工具)
                       mysqldump客户端工具用来备份数据库或在不同数据库之间进行数据迁移。
调用mysqldump的三种方式:
                      mysqldump [option] db_name [tables] #备份单个数据库或者库中部分数据表;
                      mysqldump [option] --database DB1 [DB2 DB3...] #备份指定的一个或多个数据库;
                      mysqldump [option] --all-database  #备份所有数据库;
1、连接选项:
                  -u,--user=name      指定用户名;
                  -p,--password[=name]     指定密码;
                   -h,--host=name      指定服务器ip或域名;
                  -P,--port=#            指定连接端口;
                   例:mysqldump -h 192.168.1.1 -P3306 -uroot -p'password'   test(库名) > text.txt

2、输出内容选项:
                        --add-drop-database    每个数据库创建语句前加上drop database 语句;
                        --add-drop-table          在每个表创建语句前加上drop table 语句;
                       以上两个选项可以在导入数据库的时候不用先手工删除旧的数据库,而是会自动删除,                               提高导入效率,但导入前一定要做好备份并且确认旧数据库的确已经可以删除,否则误操                           作将会造成数据损失;
                        -n,--no-create-db         不包含数据库的创建语句;
                        -t,--no-create-info        不包含数据表的创建语句;
                        -d,--no-data                不包含数据;
                         这3个选项分别表示备份文件中不包含数据库的创建语句、不包含数据表的创建语句、不                             包含数据;
3、输出格式选项:
                        --compact      输出结果简洁,不包括默认选项中的各种注释。

                         例:mysqldump -uroot --compact -d test(数据库) emp(表) >a #只导出表的创建语句;
                        -c,--complete-insert     输出文件中的insert语句包括字段名称,默认不包括字段名称。  
                        -T,--tab=name  备份数据和建表语句;
                        --fields-terminated-by=name   域分隔符;
                         --fields-enclosed-by=name      域引用符;
                        --fields-optionally-enclosed-by=name   域可选引用符;
                        --fields-escaped-by=name       转义字符。
                          例:mysqldump -uroot -p  test t1  -T /tmp    #将表test备份成一个.sql文件(存放建表语句)和一个.txt(存放实际的数据)文件;
  
4、字符集选项:
                     --default-character-set=name    设置导出的客户端字符集;
                        例:mysqld --verbose --help|grep 'default-character-set'|grep -v name    #查看系统默认的客户端字符集; 
                               mysqld -uroot --compact --default-character-set=latin1 minmin pro_file >min #手工设置客户端字符集为latin1;

5、 其它常用选项:
                         -F,--flush-logs    备份前刷新日志,备份前将关闭旧日志,生成新日志;
                         -l,--lock-tables    给所有表加读锁,在备份期间使用,使数据无法被更新,从而保持备份数据一致性;

七、mysqlhotcopy(myisam表热备份工具)
                         mysqlhotcopy是一个perl脚本,它使用lock tables、flush tables、cp或scp来快速备份数据库;备份数据库或单表最快,缺点只用于备份myisam,而且需运行在linux/unix环境中,需要安装perl的mysql数据库接口包。
                         --allowold     如果备份路径下含有同名备份,则将旧的备份目录rename为目录名_old;
                         --addtodest   如果备份路径下存在同名目录,则仅仅将新的文件加入目录;
                         --noindices    不备份所有的索引文件;
                         --flushlog      表被锁定后刷新日志。
               

八、mysqlimport(数据导入工具)
                         mysqlimport是客户端数据导入工具,用来导入mysqldump加-T选项后导出的文本文件。                            
九、mysqlshow(数据库对象查看工具)
                      mysqlshow客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或索引。
                      例:mysqlshow -uroot --count  #不指定数据库;
                            mysqlshow -uroot mysql --count  #指定数据库mysql,查看所有的表;
                             mysqlshow -uroot minmin pro_file --count   #指定数据库minmin和表pro_file;
                       
-k,--keys     显示指定表中的所有索引;
                        例:mysqlshow -uroot minmin pro_file -k  #指定索引;
                       
-i,--status    显示表的状态信息;
                         例:mysqlshow -uroot minmin pro_file -i  #显示表状态信息;

十、perror(错误代码查看工具)
               preeor用来解释错误代码的详细含义。
                例:perror 30 60 #查看错误号30和60分别指什么错误;

十一、replace(文本替换工具)
                   replace是mysql自带的一个对文件中的字符串进行替换工具。
 
                   1、覆盖方式(--) 
                   例:replace a1 aa1 b1 bb1 --a   #将文件a中的a1和b1分别替换为aa1和bb1;
                   
2、非覆盖方式(<)
                   例: replace a c b d < a            #将文件a中a和b分别替换为c和d;
                          
阅读(1018) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~