MySQL参考手册第4章:MySQL程序集
2014-06-03 19:08
162 查看
一 MySQL部署工具
1 mysqld_safe
这是一个脚本,用于启动mysqld,它会在出错时记录一些日志,最关键的是在mysqld挂起后,可能拉起mysql进程。
mysqld_safe是一个包装器,对于mysqld_safe不理解的选项,会传递给mysqld,配置文件中可以有[mysqld_safe]一节用来指定其执行参数。其默认行为是杀死当前运行的mysqld然后启动一个新的mysqld。如果线上服务器正在运行,则执行此命令就会中止正常服务,因此执行此命令需谨慎。
2 mysql.server/mysqld
用于开机启动的mysql脚本,其会调用mysqld_safe来完成大部分工作。
3 mysqld_multi
一个用于管理多个mysqld运行实例的程序,若需要运行多个mysqld,需要在配置文件中针对每个实例进行配置一个区[mysqld2],区中配置各个实例的pid,socket,datadir文件等,示例可以通过--example选项查看。
二 MySQL安装工具
4 mysql_install_db
用于在指定的路径下初始化Mysql数据目录及系统表,及相应的配置文件。其为Shell脚本或Perl脚本。
5 mysql_plugin
用于指定管理MySQL服务器启动时加载哪些插件。
6 mysql_secure_installation
可以启动一个交互过程用于设置root帐户,移除匿名用户及test表等。
三 MySQL客户工具
1 mysql的配置参数
mysql本身支持三种类型的参数传递方式,命令行参数、配置文件、环境变量,三者优先级由高到低,若同时指定的话,高优先级会覆盖低优先级来源。
同时在命令行上若传递一个参数多次,则最后一次的有效。
命令行选项上可以控制配置文件的使用,相关参数如--no-defaults将使得不使用配置文件 --defaults-file=file_name来指定所用的配置文件路径,--print-defaults可以打印从配置文件中读取值。
此外在命令行上也可以传递程序变量,通过传入key=value的形式即可,如:
mysql --max_allowed_packet=4M,当然这个选项也可以配置文件中设置,此时连词符可以是"_"也可以是"-"
部分服务器支持的动态选项可以连接数据库后设备,如SET GLOBAL max_allowed_packet=16M
而环境变量则设置在shell的变量中,将相关选项的变量及值导出就可以了。
2 mysql客户端
-h host_name -u user -ppassword -P port database --protocol [TCP/PIPE/SOCKET]
其中host,user,password也可以放在mysql的配置文件中
mysql客户端支持交互式运行,也支持以管道方式或重定向的非交互方式运行。
例如mysql dbname <1.sql
mysql有不少选项,只列一些常用的,查看选项可以用--help选项
-e 'statements' 执行语句后退出
-f 在执行错误时继续后续语句
--socket指定sock文件地址
--safe-updatesa 防止没有条件的delete 和 updte执行
进入mysql后,可以用help列出在交互模式下支持的命令,比较有用的如下:
ego \G 以列模式输出
quit \q 退出
pager 指定结果的pager处理器
rehash 构建补全hash
source \. 加载路径下的sql文件执行
status \s 显示服务器状态
sysytem \! 执行外部shell命令
这些命令在使用其他SQL客户端时是无用的。
在Linux上,mysql客户端会在用户的主目录里创建.mysql_history的文件,其中保存执行的mysql的命令历史。可以通过修改系统的SHELL环境变量MYSQL_HISTORY的值来控制此文件的路径,若将其置为/dev/null,则可以禁用此功能。
3 mysqladmin
支持以非交互的形式进行服务端管理,可以用来创建数据库、表、查看当前服务状态等
使用格式为mysqladmin [optiotn] cmd args
其选项的部分与mysql类似
常用命令有create db; drop db; extended-status;flush-logs;flush-privileges;kill id;
ping; processlist; reload (授权表); refresh; shutdown; start-slave; status; stop-slave; variables;version;
4 mysqlcheck
mysqlcheck 执行服务的维护,检查、修复、优化及分析表。
其在检查时会为表加上读锁,如果执行全库的检查,过程可能会比较耗时。其可以在mysqld运行时执行检查,而myisamchk却需要在mysqld关闭时执行。
mysqlcheck会调用SQL的check table ,repair table, analyze table, optimize table来进行操作,但不同的存储引擎支持的语句不同。
在修复表之前,最好先备份数据,在某些时候修复可能引起数据丢失。
mysqlcheck [option] db_name如果只希望执行其中的某一步,则可能通过选项--check, --repair, --analyze, --optmize来控制check的行为
1 mysqld_safe
这是一个脚本,用于启动mysqld,它会在出错时记录一些日志,最关键的是在mysqld挂起后,可能拉起mysql进程。
mysqld_safe是一个包装器,对于mysqld_safe不理解的选项,会传递给mysqld,配置文件中可以有[mysqld_safe]一节用来指定其执行参数。其默认行为是杀死当前运行的mysqld然后启动一个新的mysqld。如果线上服务器正在运行,则执行此命令就会中止正常服务,因此执行此命令需谨慎。
2 mysql.server/mysqld
用于开机启动的mysql脚本,其会调用mysqld_safe来完成大部分工作。
3 mysqld_multi
一个用于管理多个mysqld运行实例的程序,若需要运行多个mysqld,需要在配置文件中针对每个实例进行配置一个区[mysqld2],区中配置各个实例的pid,socket,datadir文件等,示例可以通过--example选项查看。
二 MySQL安装工具
4 mysql_install_db
用于在指定的路径下初始化Mysql数据目录及系统表,及相应的配置文件。其为Shell脚本或Perl脚本。
5 mysql_plugin
用于指定管理MySQL服务器启动时加载哪些插件。
6 mysql_secure_installation
可以启动一个交互过程用于设置root帐户,移除匿名用户及test表等。
三 MySQL客户工具
1 mysql的配置参数
mysql本身支持三种类型的参数传递方式,命令行参数、配置文件、环境变量,三者优先级由高到低,若同时指定的话,高优先级会覆盖低优先级来源。
同时在命令行上若传递一个参数多次,则最后一次的有效。
命令行选项上可以控制配置文件的使用,相关参数如--no-defaults将使得不使用配置文件 --defaults-file=file_name来指定所用的配置文件路径,--print-defaults可以打印从配置文件中读取值。
此外在命令行上也可以传递程序变量,通过传入key=value的形式即可,如:
mysql --max_allowed_packet=4M,当然这个选项也可以配置文件中设置,此时连词符可以是"_"也可以是"-"
部分服务器支持的动态选项可以连接数据库后设备,如SET GLOBAL max_allowed_packet=16M
而环境变量则设置在shell的变量中,将相关选项的变量及值导出就可以了。
2 mysql客户端
-h host_name -u user -ppassword -P port database --protocol [TCP/PIPE/SOCKET]
其中host,user,password也可以放在mysql的配置文件中
mysql客户端支持交互式运行,也支持以管道方式或重定向的非交互方式运行。
例如mysql dbname <1.sql
mysql有不少选项,只列一些常用的,查看选项可以用--help选项
-e 'statements' 执行语句后退出
-f 在执行错误时继续后续语句
--socket指定sock文件地址
--safe-updatesa 防止没有条件的delete 和 updte执行
进入mysql后,可以用help列出在交互模式下支持的命令,比较有用的如下:
ego \G 以列模式输出
quit \q 退出
pager 指定结果的pager处理器
rehash 构建补全hash
source \. 加载路径下的sql文件执行
status \s 显示服务器状态
sysytem \! 执行外部shell命令
这些命令在使用其他SQL客户端时是无用的。
在Linux上,mysql客户端会在用户的主目录里创建.mysql_history的文件,其中保存执行的mysql的命令历史。可以通过修改系统的SHELL环境变量MYSQL_HISTORY的值来控制此文件的路径,若将其置为/dev/null,则可以禁用此功能。
3 mysqladmin
支持以非交互的形式进行服务端管理,可以用来创建数据库、表、查看当前服务状态等
使用格式为mysqladmin [optiotn] cmd args
其选项的部分与mysql类似
常用命令有create db; drop db; extended-status;flush-logs;flush-privileges;kill id;
ping; processlist; reload (授权表); refresh; shutdown; start-slave; status; stop-slave; variables;version;
4 mysqlcheck
mysqlcheck 执行服务的维护,检查、修复、优化及分析表。
其在检查时会为表加上读锁,如果执行全库的检查,过程可能会比较耗时。其可以在mysqld运行时执行检查,而myisamchk却需要在mysqld关闭时执行。
mysqlcheck会调用SQL的check table ,repair table, analyze table, optimize table来进行操作,但不同的存储引擎支持的语句不同。
在修复表之前,最好先备份数据,在某些时候修复可能引起数据丢失。
mysqlcheck [option] db_name