码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 参数文件及参数

时间:2015-04-15 07:18:18      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:数据库   参数文件   mysql   

MySQL的参数文件为----my.cnf

  1. 如何确定数据库读取的哪一个,命令给出了答案

    [root@hack home]# mysql --help |grep my.cnf
                          order of preference, my.cnf, $MYSQL_TCP_PORT,
    /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
    [root@hack home]#

  2. 参数有的是为客户端准备,有的是为服务器准备

    [root@hack home]# cat /etc/my.cnf | grep -v "^#"

    [client]

    port=3306

    [mysqld]
    datadir=/opt/mysql/data

    basedir = /usr/local/mysql
    socket=/usr/local/mysql/mysql.sock
    user=mysql
    character_set_server=utf8
    server_id = 12
    join_buffer_size = 128M
    sort_buffer_size = 2M
    pid-file=/opt/mysql/data/mysqld.pid
    [root@hack home]#

  3. 什么是参数?

    这个就好比是键跟值得关系 如read_buffer_size=12M read_buffer_size就是键 12M就是指

    分为两类动态和静态的(只读),也可以分成是全局和局部的,动态的可以修改但是只会在mysql server的整个生命周期中起作用,下次重启之后会重新根据参数配置文件加载,所以要想永久生效还是修改配置文件,局部只对当前session有效,全局的对所有重新上来的会话有效,动态修改参数使用set [global] variables=key。

  4. 查看参数

    可以使用show variables like "variables_name" select @@session.variables_name select @@global.variables_name

    如查看read_buffer_size

    mysql> set read_buffer_size=524288;
    Query OK, 0 rows affected (0.07 sec)

    mysql> select @@session.read_buffer_size;
    +----------------------------+
    | @@session.read_buffer_size |
    +----------------------------+
    |                     524288 |
    +----------------------------+
    1 row in set (0.00 sec)

    mysql> select @@global.read_buffer_size;
    +---------------------------+
    | @@global.read_buffer_size |
    +---------------------------+
    |                    131072 |
    +---------------------------+
    1 row in set (0.00 sec)

    mysql> show variables like "read_buffer_size%";
    +------------------+--------+
    | Variable_name    | Value  |
    +------------------+--------+
    | read_buffer_size | 524288 |
    +------------------+--------+
    1 row in set (0.00 sec)

    可以看到同样设置了read_buffer_size但是session和global却不一样 因为我设置的时候没有加global

  5. 如果更改静态参数会有什么结果呢

    mysql> set global datadir=‘/opt‘;
    ERROR 1238 (HY000): Variable ‘datadir‘ is a read only variable
    mysql>



本文出自 “运维邦” 博客,请务必保留此出处http://aklaus.blog.51cto.com/9724632/1632766

MySQL 参数文件及参数

标签:数据库   参数文件   mysql   

原文地址:http://aklaus.blog.51cto.com/9724632/1632766

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!