MariaDB的my.cnf 大型服務器配置模板中文注釋

jopen 10年前發布 | 19K 次閱讀 MariaDB MySQL 數據庫服務器

MariaDB 是一個采用 Maria 存儲引擎的 MySQL 分支版本,是由原來 MySQL 的作者 Michael Widenius 創辦的公司開發的免費開源的數據庫服務器。
與 MySQL 相比,MariaDB 的優勢在于:

  • 可免費商業使用(MySQL 則有社區版和企業版之分,拜 Oracle 所賜)
  • Maria 存儲引擎
  • PBXT 存儲引擎
  • XtraDB 存儲引擎
  • FederatedX 存儲引擎
  • 更快的復制查詢處理
  • 線程池
  • 運行速度更快
  • 更多的擴展功能模塊
  • 支持 Unicode 排序
  • </ul>

    # /usr/share/mysql/my-huge.cnf

    MariaDB 配置文件 示例模板(huge,巨型).

    #

    本文件適用于專用數據庫服務器, 內存為 1G-2G

    機器上主要只運行 MariaDB的大型系統 ,

    #

    MariaDB 程序會根據運行的操作系統平臺查找一系列的配置文件,

    你可以將此模板配置文件拷貝到對應的位置(并重命名),

    要查看有哪些配置文件會被讀取到,執行:

    'my_print_defaults --help' 并查看

    Default options are read from the following files in the given order:

    (--> 程序會依次讀取列出的配置文件.) 這部分下面列出的文件(路徑)列表.

    更多信息請參考: http://dev.mysql.com/doc/mysql/en/option-files.html

    #

    在本文件的各個小節中,你可以使用該程序支持的所有選項.

    如果想要了解程序是否支持某個參數,

    可以使用 "--help" 選項來啟動該程序,查看幫助信息.

    下面一小節的配置選項由本地的所有 MySQL 客戶端讀取,作為默認配置

    [client]

    password = your_password

    port = 3306 socket = /var/lib/mysql/mysql.sock

    下面的各個小節,由各種應用程序來讀取解析

    MySQL server 配置信息

    [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 384M max_allowed_packet = 1M table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M

    并發線程數,建議為CPU核心數乘以2: CPU's*2 for thread_concurrency

    thread_concurrency = 8

    可以指定一個專用磁盤的路徑來作為臨時目錄,例如 SSD

    tmpdir = /tmp/

    配置此參數則不啟動 TCP/IP 端口 監聽.

    如果所有的處理程序都只在同一臺機器上連接 mysqld, 這是一個很安全的做法,

    所有同 mysqld 的交互只能通過Unix sockets 或命名管道(named pipes)完成.

    注意,使用此選項而沒有開啟Windows上的命名管道(named pipes),

    (通過 "enable-named-pipe" 配置項) 將會導致 mysqld 不可用!

    skip-networking

    主服務器配置選項 Replication Master Server (default)

    在主從復制時,需要依賴二進制日志

    log-bin=mysql-bin

    在整個主從復制集群中要求是 1 到 2^32 - 1 之間的唯一ID, 否則或者失敗,或者大量出錯日志信息.

    如果沒有設置 master-host,則默認值是 1

    但如果省略了,則(master)不生效

    server-id = 1

    從服務器配置選項 Replication Slave (需要將 master 部分注釋掉,才能使用這部分)

    #

    要將服務器配置為從屬服務器(replication slave),

    有如下兩種方案可供選擇 :

    #

    1) 通過 CHANGE MASTER TO 命令 (在用戶手冊中有詳細的描述) -

    語法如下:

    #

    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,

    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;

    #

    你可以將 <host>, <user>, <password> 替換為單引號括起來的字符串,

    將 <port> 替換為 master 的端口號 (默認是 3306).

    #

    一個示例如下所示:

    #

    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

    MASTER_USER='joe', MASTER_PASSWORD='secret';

    #

    或者:

    #

    2) 設置下面的參數. 然而, 一旦你選擇了這種方式,

    首次啟動主從復制時 (即便啟動復制失敗, 如錯誤的 master-password 密碼,

    導致 slave 連接不上等), slave 將會創建一個名為 master.info 的文件,

    如果以后再修改本配置文件(xxx.cnf)中下面的這些參數, 則將被忽略,

    并繼續使用 master.info 文件的內容,

    除非關閉 slave 服務器, 然后刪除文件 master.info 并重新啟動 slaver server.

    出于這個原因, 你應該不系統修改下面的相關參數參數(帶 <> 的注釋部分),

    而是使用 CHANGE MASTER TO (上面的方案1)

    #

    在整個主從復制集群中要求是 2 到 2^32 - 1 之間的唯一ID,

    否則或者失敗,或者大量出錯日志信息.

    如果設置了 master-host,則默認值是 2

    但如果省略了,則不會成為 slave

    server-id = 2

    #

    此slave 需要連接的 master. - required

    master-host = <hostname>

    #

    slave連接到 master 認證時需要的 username

    - 用戶名是必須的(也可以在連接時指定)

    master-user = <username>

    #

    slave連接到 master 認證時需要的 password

    - 密碼是必須的(也可以在連接時指定)

    master-password = <password>

    #

    master 監聽的端口號

    可選 - 默認是 3306

    master-port = <port>

    #

    開啟二進制日志, 對于slave從服務器不是必須的,但推薦開啟

    log-bin=mysql-bin

    #

    二進制日志格式 —— 推薦 mixed

    binlog_format=mixed

    如果只使用 InnoDB 表, 請取消下列選項的注釋

    innodb_data_home_dir = /var/lib/mysql

    innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

    innodb_log_group_home_dir = /var/lib/mysql

    如果只使用 InnoDB,可以設置 .._buffer_pool_size 為物理內存的 50 - 80 %

    謹防內存使用設置得太高

    innodb_buffer_pool_size = 384M

    附加緩存池大小

    innodb_additional_mem_pool_size = 20M

    設置 .._log_file_size 為 buffer pool size 的 25 % 左右

    innodb_log_file_size = 100M

    日志緩存的大小,不要設置太大,1秒鐘刷新一次

    innodb_log_buffer_size = 8M

    默認1,事務提交就刷新日志到硬盤;

    設為2,刷新到操作系統緩存,但性能提高很多,設為 0 則可能丟事務.

    innodb_flush_log_at_trx_commit = 1

    表死鎖的超時釋放時間,單位秒

    innodb_lock_wait_timeout = 50

    [mysqldump]

    快速導出到輸出流/硬盤,不在內存中緩存

    quick

    最大數據包限制

    max_allowed_packet = 16M

    [mysql] no-auto-rehash

    如果對 SQL不熟悉,可以將下面的注釋符去掉,拒絕無where的不安全操作.

    safe-updates

    [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M

    [mysqlhotcopy] interactive-timeout</pre>來自:http://blog.csdn.net/renfufei/article/details/26569605

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!