一、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) |