更新时间:2022-01-21 10:40:51浏览次数:682+次
以下为你详细解释mysql、myisamchk、mysqlaccess、mysqladmin命令的用法。
Linux mysql命令的用法及解释
Linux mysql命令是MySQL数据库服务器的客户端工具,它工作在命令行终端中,完成对远程MySQL数据库服务器的操作。
1、语法
mysql(选项)(参数)
2、选项
-h:MySQL服务器的ip地址或主机名;
-u:连接MySQL服务器的用户名;
-e:执行mysql内部命令;
-p:连接MySQL服务器的密码。
3、参数
数据库:指定连接服务器后自动打开的数据库。
Linux myisamchk命令的用法及解释
Linux myisamchk是MyISAM表维护的一个非常实用的工具。可以使用myisamchk实用程序来获得有关数据库表的信息或检查、修复、优化他们。myisamchk适用MyISAM表(对应.MYI和.MYD文件的表)。
1、myisamchk选项解释
–debug=debug_options, -# debug_options
输出调试记录文件。debug_options字符串经常是’d:t:o,filename’。
–silent,-s
沉默模式。仅当发生错误时写输出。
–wait, -w
如果表被锁定,不是提示错误终止,而是在继续前等待到表被解锁。
如果不使用–skip-external-locking,可以随时使用myisamchk来检查表。当检查表时,所有尝试更新表的客户端将等待,直到myisamchk准备好可以继续。
请注意如果用–skip-external-locking选项运行mysqld,只能用另一个myisamchk命令锁定表。
–var_name=value
可以通过–var_name=value选项设置下面的变量:
–check, -c
检查表的错误。如果你不明确指定操作类型选项,这就是默认操作。
–check-only-changed, -C
只检查上次检查后有变更的表。
–extend-check, -e
非常仔细地检查表。如果表有许多索引将会相当慢。
–fast,-F
只检查没有正确关闭的表。
–force, -f
如果myisamchk发现表内有任何错误,则自动进行修复。
–information, -i
打印所检查表的统计信息。
–medium-check, -m
比–extend-check更快速地进行检查。只能发现99.99%的错误
–update-state, -U
将信息保存在.MYI文件中,来表示表检查的时间以及是否表崩溃了。该选项用来充分利用–check-only-changed选项
但如果mysqld服务器正使用表并且正用–skip-external-locking选项运行时不应使用该选项。
–read-only, -T
不要将表标记为已经检查。如果你使用myisamchk来检查正被其它应用程序使用而没有锁定的表很有用
–backup, -B
将.MYD文件备份为file_name-time.BAK
–character-sets-dir=path
字符集安装目录。
–correct-checksum
纠正表的校验和信息。
–data-file-length=len, -D len
数据文件的最大长度
–extend-check,-e
进行修复,试图从数据文件恢复每一行。一般情况会发现大量的垃圾行。不要使用该选项,除非你不顾后果。
–force, -f
覆盖旧的中间文件(文件名类似tbl_name.TMD),而不是中断
–keys-used=val, -k val
对于myisamchk,该选项值为位值,说明要更新的索引。选项值的每一个二进制位对应表的一个索引,其中第一个索引对应位0。
选项值0禁用对所有索引的更新,可以保证快速插入。通过myisamchk -r可以重新激活被禁用的索引。
–parallel-recover, -p
与-r和-n的用法相同,但使用不同的线程并行创建所有键。
–quick,-q
不修改数据文件,快速进行修复。
–recover, -r
可以修复几乎所有一切问题,除非唯一的键不唯一时(对于MyISAM表,这是非常不可能的情况)。如果你想要恢复表,
这是首先要尝试的选项。如果myisamchk报告表不能用-r恢复,则只能尝试-o。
在不太可能的情况下-r失败,数据文件保持完好)。
–safe-recover, -o
使用一个老的恢复方法读取,按顺序读取所有行,并根据找到的行更新所有索引树。这比-r慢些,
但是能处理-r不能处理的情况。该恢复方法使用的硬盘空间比-r少。一般情况,你应首先用-r维修,如果-r失败则用-o。
–sort-recover, -n
强制myisamchk通过排序来解析键值,即使临时文件将可能很大。
–analyze,-a
分析键值的分布。这通过让联结优化器更好地选择表应该以什么次序联结和应该使用哪个键来改进联结性能。
要想获取分布相关信息,使用myisamchk –description –verbose tbl_name命令或SHOW KEYS FROM tbl_name语句。
–sort-index, -S
以从高到低的顺序排序索引树块。这将优化搜寻并且将使按键值的表扫描更快。
–set-auto-increment[=value], -A[value]
强制从给定值开始的新记录使用AUTO_INCREMENT编号(或如果已经有AUTO_INCREMENT值大小的记录,应使用更高值)。
如果未指定value,新记录的AUTO_INCREMENT编号应使用当前表的最大值加上1。
–description, -d
打印出关于表的描述性信息。
2、实例
[root@nagios test]# myisamchk -e wpusers.MYI #检查表
Checking MyISAM file: wpusers.MYI
Data records: 1 Deleted blocks: 0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check data record references index: 3
- check records and index references
[root@localhost tg]# myisamchk -of ./dxad.MYI #修复第一步
- recovering (with keycache) MyISAM-table './dxad.MYI'
Data records: 12597637
Found block that points outside data file at 1630252996
Data records: 12597456
[root@localhost tg]# myisamchk -r ./dxad.MYI #修复第二步
- recovering (with sort) MyISAM-table './dxad.MYI'
Data records: 12597456
- Fixing index 1
[root@localhost tg]# myisamchk ./dxad.MYI #修复第三步
Checking MyISAM file: ./dxad.MYI
Data records: 12597456 Deleted blocks: 0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links
Linux mysqlaccess命令的用法及解释
Linux mysqlaccess是YvesCarlier为MySQL分发提供的一个诊断工具。它检查访问权限的主机名、用户名和数据库组合。请注意mysqlaccess检查只使用user、db和host表的访问。它不检查在tables_priv、columns_priv或procs_priv表中指定的表、列或者程序的权限。
1、调用mysqlaccess的方法
shell>mysqlaccess[host_name[user_name[db_name]]][options]
2、mysqlaccess的选项
---help,-?
显示帮助消息并退出。
--brief,-b
生成单行表格式的报告。
--commit
从临时表将新访问权限复制到原授权表。必须为新的权限刷新授权表以使其生效。(例如,执行mysqladminRELOAD命令)。
--copy
从原授权表重载临时授权表。
--db=db_name,-ddb_name
指定数据库名。
---debug=N
指定调试级别。N可以为从0到3的一个整数。
--host=host_name,-hhost_name
在访问权限中使用的主机名。
--howto
显示一些例子显示如何使用mysqlaccess。
--old_server
假定服务器是一个旧版本的MySQL服务器(MySQL3.21之前),还不知道如何处理全WHERE子句。
--password[=password],-p[password]
当连接服务器时使用的密码。如果你在命令行中在--password或-p选项后面省略密码值,将提示你输入密码。
--plan
显示将来发布的建议和思想。
--preview
更改临时授权表后显示权限的不同。
--relnotes
显示发布注解。
--rhost=host_name,-Hhost_name
连接给定主机的MySQL服务器。
--rollback
取消对临时授权表的最新的更改。
--spassword[=password],-P[password]
以super用户连接服务器时使用的密码。如果在命令行中在--password或-p选项后面省略了密码值,将提示你输入密码。
--superuser=user_name,-Uuser_name
指定以super用户连接时的用户名。
--tables,-t
生成表格式的报告。
--user=user_name,-uuser_name
在访问权限中使用的主机名。
--version,-v
显示版本信息并退出。
如果你的MySQL分发安装在某个非标准位置,必须进入mysqlaccess期望找到mysql客户的目录。编辑大约在18行处的mysqlaccess脚本。搜索类似下面的一行:
$MYSQL='/usr/local/bin/mysql';#pathtomysqlexecutable
将路径更改为mysql实际在系统中保存的位置。如果不这样做,当运行mysqlaccess时会发生Brokenpipe错误。
Linux mysqladmin命令的用法及解释
Linux mysqladmin命令是mysql服务器管理任务的客户端工具,它可以检查mytsql服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。
1、语法
mysqladmin(选项)(参数)
2、选项
-h:MySQL服务器主机名或ip地址;
-u:连接MySQL服务器的用户名;
-p:连接MySQL服务器的密码;
--help:显示帮助信息。
3、参数
管理命令:需要在MySQL服务器上执行的管理命令。
4、mysqladmin支持下列命令
create databasename:创建一个新数据库;
drop databasename:删除一个数据库及其所有表;
extended-status:给出服务器的一个扩展状态消息;
flush-hosts:清空所有缓存的主机;
flush-logs:清空所有日志;
flush-tables:清空所有表;
flush-privileges:再次装载授权表(同reload);
kill id,id,...:杀死mysql线程;
password 新口令:将老密码改为新密码;
ping:检查mysqld是否活着;
processlist:显示服务其中活跃线程列表;
reload:重载授权表;
refresh:清空所有表并关闭和打开日志文件;
shutdown:关掉服务器;
status:给出服务器的简短状态消息;
variables:打印出可用变量;
version:得到服务器的版本信息。
相关资讯