概述
- mysql的各种程序具有 平台相关性
- mysql的选项是大小写 敏感 的!敏感!
- mysql选项名的 组成部分中”-“和”_“可以互换,注意不是指决定是长名称还是短名称的前导符”--“、”-“
- mysql有各种各样的服务器端、客户端程序
- mysql的程序具有很多的选项:长名称“--”、短名称“-”、无前导符的选项
- mysql选项的长形式需要”=“表示连接选项和值;短形式则不必,可以直接跟值或由空白分割。注意密码选项”-p“必须直接跟值
- mysql的选项具有共通性:如--user、--host、--password、--port等等
- mysql的选项具有默认值:根据需要去改变
- mysql的选项指定方式和优先级从低到高:默认值、os环境变量、选项文件、命令行选项、set命令等
- mysql的选项除了上面的优先级外,后来指定的会覆盖之前指定的值。特殊的:对于 [mysqld] 第一次出现的--user选项设置总是被优先采用
- mysql的选项只要是不和其他混淆,可以只指定前面的部分,不必写全名
- mysql的选项 如果以 ”--loose-“开头的话,即使指定的选项名称错误,客户端也不会exit,只是警告而已
- 各种mysql程序可以通过“--help|-?”选项获得帮助:支持的选项、支持的选项文件级顺序、支持的选项文件段、第一位选项等信息
连接至mysql服务器
- 应用程序的os路径问题
- windows默认值:--host=localhost --user=ODBC --password='' --port=3306 默认不选择任何数据库
- unix默认值:--host=localhost(具有不同于windows的含义,即使指定了 --port=3306,默认会使用socket文件而不是tcp/ip协议,需要指定为“127.0.0.1”或主机的“name”) --user=ODBC --password='' --port=3306 默认不选择任何数据库
几个特殊的选项、选项前缀
- {--execute=|-e}"statementlist;" --连接到mysql服务器,执行sql语句,退出
- --loose-前缀 --可以忽略的(错误)选项
- --maximum前缀 --对于部分参数,可以指定最大值
mysql选项文件
- 选项文件可以有多个位置
- windows:%windir%/my.ini %windir%/my.cnf c:/my.ini c:/my.cnf mysqlinstalldir/my.ini myinstalldir/my.cnf
- unix: /etc/my.cnf /etc/mysql/my.cnf sysconfdir/my.cnf--通常是/etc/my.cnf $MYSQL_DIR/my.cnf ~/.my.cnf
- mysql还可以可以通过指定第一参数对选项文件进行控制
- --defaults-extra-files=# --指定额外的选项文件
- --defaults-file=# --指定仅仅仅仅读取指定的选项文件,忽略其他
- --no-defaults --不读取选项文件
- 选项文件的构成
- 空白行 --被忽略
- ; --单行注释
- # --行注释,该注释可以从行的 中间开始注释直到行尾
- [group_name] --选项的 【节】,从该处开始 直到选项文件 结束 或者 遇到 另一个 【节】开始,所有的选项设置都属于该节。通常 group_name 就是应用程序的名称。
- option_name --无需设置其值的选项
- option_name=value --需要设置值的选项
- !include 其他选项文件 --包含其他选项文件,类似于--defaults-extra-file第一选项参数的作用
- !includedir 其他选项文件所在目录 --指定包含其他选项文件——扩展名必须是“.cnf”、“.ini”——的base目录;但是搜索子选项文件的顺序是不可预知的。类似于--defaults-extra-file第一选项参数的作用
- 选项设置中的“=”操作符前后可以有空白,注意命令行的设置里“=”前后不允许有空白!
- 选型设置中的文本值 当有特殊字符时需要使用单引号或双引号括起来;字符串值是c式的字符串,允许字符转义;对于os路径设置,因为“\”是windows的路径分割符又是mysql转义字符,所以必须使用“\\” 或 “/”
- "[mysqld]"节是通用mysqld服务器的选项设置节
- "[mysqld-主版本.次版本]"节是各个mysqld发布版本读取的非通用节
- "[client]"节是通用客户端可识别的特殊节。必须确保该节不要设置特殊应用程序使用的选项。
- 各节下的选项必须是对各应用程序可识别的!否则,你死了!!!!