mysql程序概览之(三)

    4.2.7影响选项文件的命令行选项
    ++++++++++++++++++++

    4.2.8使用选项去设置变量
    ++++++++++++++++++++
    许多mysql程序都有内置的变量,可以在运行时使用SET语句设置;大多数的这些变量也可以在服务器启动的时候设置;
    max_allowed_packet (the maximum size of communication buffer)
        1、可以使用字节,也可以使用K,M,G
            shell> mysql --max_allowed_packet=16777216
            shell> mysql --max_allowed_packet=16M

        2、[mysqld]
           max_allowed_packet=16777216

           [mysqld]
           max_allowed_packet=16M

        3、可以使用破折号替换下划线
            [mysqld]
            key_buffer_size=512M

            [mysqld]
            key-buffer-size=512M

        4、可以使用模糊前缀
            shell> mysql --max_a=10000

        5、Suffixes for specifying a value multiplier can be used when setting a variable at server startup, but not to set the value with SET at runtime.

        6、使用SET的时候可以使用表达式,但是在服务器启动的时候设置的话是不能使用表达式的
            服务器启动的时候设置:
            shell> mysql --max_allowed_packet=16M 可以 
            shell> mysql --max_allowed_packet=16*1024*1024 不行
            运行时设置:
            mysql> SET GLOBAL max_allowed_packet=16M; 不行
            mysql> SET GLOBAL max_allowed_packet=16*1024*1024; 可以  

    4.2.9Option Defaults, Options Expecting Values, and the = Sign
    ++++++++++++++++++++
    按照惯例,长格式的选项赋值的时候要使用=
    shell> mysql --host=tonfisk --user=jon
    对于一些需要值的选项(没有默认值),=不是必须的,下面这种写法是合法的
    shell> mysql --host tonfisk --user jon 
    由于上面的缘故,当一个需要值的选项没有被赋值的时候,程序会出问题;例如:
    shell> mysql --host 85.224.35.45 --user 
    shell> mysql --host --user jon
    有默认值的选项在赋值的时候通常需要使用=,否则会出错;例如:
        --log-err选项有默认值:hostname.err 
        shell> mysqld_safe & 没错,使用默认值
        shell> mysqld_safe --log-err 没错,一样的
        shell> mysqld_safe --log-error my-errors & 这就出错了
        shell> mysqld_safe --log-error=my-errors & 这样就对了
    在配置文件中,=是必须的;例如:
        1、文件my.cnf里边有
            [mysql]
            host 
            user 
        当使用mysql 命令的时候
            shell> mysql 
        配置选项会被解释为--host --user 或者--host=--user 这样就错了
        2、假如my.cnf文件里边有:
            [mysql]
            user jon
        当使用mysql 命令的时候
            shell> mysql 
        会出现这个错误:mysql: unknown option '--user jon'
        3、假如my.cnf文件里边有:
            [mysql]
            user=jon
        不会出错
    在配置文件中,如果你指定了一个需要值的选项却没有给它赋值,服务器会报错;
        假如my.cnf文件有如下内容:
            [mysqld]
            log_err
            relay_log
            relay_log_index
        下面的命令将会失败:
            shell> mysqld_safe &
        因为relay_log选项需要一个值

    4.2.10设置环境变量
    ++++++++++++++++++++
    可以在命令行中设置环境变量以影响当前调用;也可以在启动文件中设置以影响以后所有调用;
    在Windows下:SET USER=your_username
    在Unix下,视shell类型而定,典型的(sh, ksh, bash, zsh):
        MYSQL_TCP_PORT=3306
        export MYSQL_TCP_PORT
        对于csh,tcsh:
        setencv MYSQL_TCP_PORT 3306
    在命令行中设置的环境变量,当你退出的时候就失效了;如果想长久有效,写到你系统提供的启动文件里边去;
        在Windows中,你可以在系统控制面板设置;
        在Unix中,典型的启动文件是:.bashrc .bash_profile (bash)或者 .tcshrc (tcsh)
    假如你的mysql安装在/usr/local/mysql/bin里边,并且你想方便的调用:   
        对于.bashrc来说,可以这样设置
            PATH=${PATH}:/usr/local/mysql/bin
        对于.tcshrc来说,可以这样设置
            setenv PATH ${PATH}:/usr/local/mysql/bin

---------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值