MariaDB的my.cnf 大型服務器配置模板中文注釋
MariaDB 是一個采用 Maria 存儲引擎的 MySQL 分支版本,是由原來 MySQL 的作者 Michael Widenius 創辦的公司開發的免費開源的數據庫服務器。
與 MySQL 相比,MariaDB 的優勢在于:
- 可免費商業使用(MySQL 則有社區版和企業版之分,拜 Oracle 所賜)
- Maria 存儲引擎
- PBXT 存儲引擎
- XtraDB 存儲引擎
- FederatedX 存儲引擎
- 更快的復制查詢處理
- 線程池
- 運行速度更快
- 更多的擴展功能模塊
- 支持 Unicode 排序 </ul>
# /usr/share/mysql/my-huge.cnfMariaDB 配置文件 示例模板(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