|
板凳

楼主 |
发表于 2009-5-6 02:16:14
|
只看该作者
MySQL 管理工具
几个命令选项:
命令选项
| 参数
| 描述
| -u
| username
| 默认情况下,mysql 这些管理工具会尝试使用和系统一样的用户名登录数据库,你使用 -u 指定一个用户名
| -p
| [password]
| 可选password项,不填则稍后提示输入;如果没有此选项,则 mysql 命令就假定用户无需密码登录
| -h
| host
| 指定主机登录,本机登录总是可以忽略此选项
|
myisamchk
此命令检查并修复使用默认 MYISAM 表格格式的数据表。一般地,myisamchk 应当从表所在的目录里并以在数据库安装时所创建的 mysql 用户并运行之。也就是说,为了对数据库的检查,需要先转换用户,使用 su mysql 命令转换为 mysql 用户,然后转入以数据库名字匹配的目录下,然后运行 myisamchk 命令,可以带一个或几个以下参数,例如:myisamchk 命令选项如下表所示:
命令选项 | 描述 | -c | 检查表错误 | -e | 执行扩展检查 | -r | 纠正找到的错误 |
不带任何参数直接运行 myisamchk 命令可以得到更多信息,此命令对 InnoDB 类型表格没有影响。
mysql
此命令通常用来登录数据库。一般格式是:上面的命令中,-u 表示指定一个 用户(beyes)登录;-p 参数表示此用户需要密码登录,但这里不指定密码,一会儿进入交互式提示输入密码;foo 表示要登录数据库名。
如果不希望进入交互式登录,可以直接在命令行上指定 password 参数并在后面跟着完整的密码:mysql -u beyes --password=112679888 在 mysql 客户端登录到服务器后,一些常用的命令如下表所示:
命令
| 简洁表示
| 描述
| help 或者 ?
| \\h 或者 \\?
| 显示命令列表
| edit
| \\e
| 编辑命令;使用编辑器为环境变量$EDITOR所定义
| exit quit
| \\q
| 退出客户端
| go
| \\g
| 执行命令
| source <filename>
| \\.
| 从给定文件中执行 SQL
| status
| \\s
| 显示服务器的状态信息
| system <command>
| \\!
| 执行一个系统命令
| tee <filename>
| \\T
| 在指定文件中追加一份所有输出的拷贝
| use <database>
| \\u
| 使用指定的数据库
|
mysqladmin
主要的管理工具,除了支持通常的参数外,还支持以下重要的命令:
命令
| 描述
| create <database_name>
| 创建一个新的数据库
| drop <database_name>
| 删除一个数据库
| password <new_password>
| 改变密码
| ping
| 检查服务器是否在运行中
| reload
| 重装载 grant 表
| status
| 提供服务器的状态信息
| shutdown
| 关闭服务器
| variables
| 显式控制mysql操作的变量以及它们的当前值
| version
| 提供服务器的版本号以及服务器已经运行了多长时间
| 不带任何参数使用 mysqladmin 可以看到所有的选项列表,为了容易查看就使用 mysqladmin | less
mysqlbug
通过 mail 给 mysql 开发者提交 bug 报告。
mysqldump
此命令允许对部分或整个数据库转储到一个单独文件,这个文件里有一组 SQL 可以使此文件重新导入到 Mysql 里面的命令。对标准用户,密码信息以及数据库和表名这些都作为命令的一个参数。几个有用的选项如下表所示:
命令
| 描述
| -add-drop-table
| 这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除 | -e
| 使用扩展的插入语法.这不是SQL的标准,但在 dump 大量数据时,对快速导入MySQL 时会有较大帮助
| -t
| 仅转储表格里的数据,非创建表格的信息
| -d
| 仅转储表格结构,非实际的数据
| 更多关于 mysqldump 参考 man mysqldump,或者:http://www.groad.net/bbs/read.php?tid=754
如备份一个名为 pwbbs 的数据库到文件:mysqldump -u beyes -p pwbbs > pwbbs.dump
mysqlimport
此命令用来把数据导入表中。命令仅需要一个文件名和一个数据库作为参数,mysqlimport 将把数据导入到和文件名一样名字(文件扩展名不要)的数据表中。执行此命令和 mysqldump 类似,只是把重定向符号改变一下。更多用法参考 man mysqlimport 或者 http://www.groad.net/bbs/read.php?tid=755
mysqlshow
此命令显示出 Mysql 安装和其内的数据库信息:
1、如果不带任何参数,则列出所有可用的数据库beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888'
+--------------------+
| Databases |
+--------------------+
| information_schema |
| beyes_db |
| mysql |
| test |
+--------------------+ 2、带一个数据库名参数则列出这个数据库中的表所包含的表beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888' beyes_db
Database: beyes_db
+--------+
| Tables |
+--------+
+--------+
beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888' test
Database: test
+--------+
| Tables |
+--------+
+--------+
beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888' mysql
Database: mysql
+---------------------------+
| Tables |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+ 3、参数中既有数据库名和表格名,那么列出这个表格中的各个栏:beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888' mysql func
Database: mysql Table: func
+-------+------------------------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+------------------------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| name | char(64) | utf8_bin | NO | PRI | | | select,insert,update,references | |
| ret | tinyint(1) | | NO | | 0 | | select,insert,update,references | |
| dl | char(128) | utf8_bin | NO | | | | select,insert,update,references | |
| type | enum('function','aggregate') | utf8_general_ci | NO | | | | select,insert,update,references | |
+-------+------------------------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
4、参数中有数据库,表格,表格中的某栏参数,那么列出此栏中的详细信息:beyes@linux-beyes:~> sudo mysqlshow -u beyes --password='112679888' mysql func name
Database: mysql Table: func Wildcard: name
+-------+----------+-----------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+----------+-----------+------+-----+---------+-------+---------------------------------+---------+
| name | char(64) | utf8_bin | NO | PRI | | | select,insert,update,references | |
+-------+----------+-----------+------+-----+---------+-------+---------------------------------+---------+ |
|