MySQL 中的常用工具

1.    mysql(客户端连接工具)

o   连接

mysql [-uroot -p0000-hlocalhost -P3306] [数据库名字]

-u,--user=name

指定用户名,不指定则默认为空用户

 -p,--password

指定密码,不指定则默认为空密码

 -h, --host=name

指定服务器IP或域名,如果不指定,则默认localhost

 -P,--port=#

指定连接端口,默认为3306

可以直接用mysql登录MySQL数据库,如果空用户被删除,mysql将从my.cnf中的[client]组中找用户名和密码,如果my.cnf中的[client]组中没有此选项,则会使用root@localhost登录。

o   客户端字符集

在连接时加入--default-character-set='utf8',相当于在mysql客户端连接成功后set utf8 charset;只对当前连接有效,如果想永久有效,需要在修改配置文件my.cnf,如果在[mysqld]组中指定,则对服务器有效;如果在[mysql]组中指定,则对客户端有效。

o   执行选项 -e 不登录mysql数据库即可执行SQL语句

o   错误处理(批量执行SQL

-f,跳过出错SQL语句继续执行后面的,-v显示出错SQL语句,--show-warnings 显示全部警告信息

2.    myisampack(MyISAM表压缩工具)

myisampack使用高压缩比对MyISAM存储引擎的表进行压缩,压缩后的表成为一个只读表,不能进行DML操作

3.    mysqladmin(MySQL管理工具)

关闭数据库, mysqladmin -uroot -p shutdown

4.    mysqlbinlog(日志管理工具)

o   -d,--database=name:只列出指定的数据库相关操作。

o   -o,--offset=#:忽略前n条记录。

o   -r,--result-file=name:将输出的文本格式日志输出到指定文件。

o   -s,-short-form:显示简单格式。

o   --set-charset=char-name

o   --start-datetime=name -stop-datetime=name:显示日期间隔内的所有日志。

o   --start-position=# -stop-position=#:显示位置间隔内的所有日志。

5.    mysqlcheck(MyISAM表维护工具),集成了mysql工具中的check、repair、analyze、optimize的功能。

o   -c,--check(检查表)

o   -r,--repair(修复表)

o   -a,--analyze(分析表)

o   -o,--optimize(优化表)

6.    mysqldump(数据导出工具)和mysqlhotcopy(MyISAM表热备份工具)

o   mysqldump适用任何存储引擎的表,mysqlhotcopy仅适用于MyISAM存储引擎的表。

o   mysqlhotcopy在mysql5.6.20之后弃用,mysql5.7没有mysqlhotcopy

7.    mysqlimport(数据导入工具)
8.    mysqlshow(数据库对象查看工具)

o   --count 显示数据库和表的统计信息

o   -k,显示指定表中的所有索引,与mysql客户端执行show full cloums from xxx 和show index from xxx结果一致。

o   -i,显示表的状态信息,与mysql客户端执行show table  status from 数据库名 like'表名'结果一致。-

9.    perror(错误代码查看工具)

解释错误代码的详细含义。

10. replace(文本替换工具)
shell >replace from to … -- file …
shell >replace from to … < file …

  •  覆盖方式(--)。-- 表示字符串的结束,文件的开始,替换完毕后会覆盖原文件。替换后的文件如果是sql文件可以重新导入数据库(我猜的,实际上可不可以这样做我也不确定)。
  • 非覆盖方式( <)。< 表示后面的文件作为输入,不会覆盖原文件,替换后的内容只显示在控制台上。这种方式具体有些什么应用场景我暂时还不知道。 

你可能感兴趣的:(mysql,学习笔记)