程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 【博文推薦】MariaDB10.0實例部署和多源復制配置(1)

【博文推薦】MariaDB10.0實例部署和多源復制配置(1)

編輯:MySQL綜合教程

【博文推薦】MariaDB10.0實例部署和多源復制配置(1)


   本博文出自Bkjia博客王偉博主,有任何問題請進入博主頁面互動討論!

博文地址:http://wangtianfa.blog.51cto.com/5281093/1621797

一、部署MariaDB10.0.17

1、MariaDB下載和簡單說明

當前MariaDB支持多源復制的版本為10.0的版本,最新穩定版本為10.0.17,下載連接為:http://mirrors.opencas.cn/mariadb/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz。MariaDB和PerconaDB在5.5的新版中引進來線程池和關閉NUMA的概念,對數據庫性能提高不少,而MySQL的版本在5.5.23(貌似是)以上的版本中也有這個概念,但是是屬於企業版的功能,開源版本中沒有這個功能;MariaDB10的版本中多了一個新功能就是多源復制,對於一些特殊的場景比較實用:如sharding過的表做數據匯總等,一般對匯總統計比較有用。

注:新的版本固然有很多吸引人的地方,但是其中的坑還沒有挖完,有問題的話不易查找材料,不易於解決,所以不建議生產環境使用最新的版本。目前MySQL、PerconaDB和MariaDB主流版本是5.5,如果非特殊需要,5.5的足夠用,拋開線程池來說,5.6的版本在整體的性能上未必比5.5的好。

2、MariaDB的安裝部署

MariaDB和MySQL、Percona的基本上完全一樣,5.5以後的版本采用cmake的方式編譯安裝:

  1. #tar –zxfmariadb-10.0.17.tar.gz 
  2.  
  3. #cdmariadb-10.0.17 
  4.  
  5. #cmake .-DCMAKE_INSTALL_PREFIX=/data/percona/ -DMYSQL_DATADIR=/data/percona/data-DSYSCONFDIR=/data/percona/etc -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DMYSQL_UNIX_ADDR=/data/percona/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON-DENABLED_PROFILING=ON -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3306 
  6.  
  7. #make&& make install 

3、MariaDB的配置文件

這個配置文件適用於PerconaDB,去掉線程池和NAMA的參數,同樣適用於MySQL:

  1. [client] 
  2.  
  3. port = 3306 
  4.  
  5. socket = /data/mariadb/tmp/mysql.sock 
  6.  
  7. default-character-set= utf8 
  8.  
  9. [mysqld] 
  10.  
  11. port = 3306 
  12.  
  13. bind-address= 0.0.0.0 
  14.  
  15. lower_case_table_names = 1 
  16.  
  17. basedir = /data/mariadb 
  18.  
  19. datadir = /data/mariadb/data 
  20.  
  21. tmpdir = /data/mariadb/tmp 
  22.  
  23. socket = /data/mariadb/tmp/mysql.sock 
  24.  
  25. ####################################### 
  26.  
  27. log-output = FILE 
  28.  
  29. log-error = /data/mariadb/log/error.log 
  30.  
  31. #general_log 
  32.  
  33. general_log_file = /data/mariadb/log/mysql.log 
  34.  
  35. pid-file = /data/mariadb/data/mysql.pid 
  36.  
  37. slow-query-log 
  38.  
  39. slow_query_log_file = /data/mariadb/log/slow.log 
  40.  
  41. tmpdir = /data/mariadb/tmp/ 
  42.  
  43. long_query_time = 0.1 
  44.  
  45. #max_statement_time = 1000 #自動殺死超過1s的慢sql,PerconaDB5.6支持,不建議使用,如使用的和業務方溝通好,建議在特殊的情況動態配置使用,默認是0,不限制。 
  46.  
  47. sync_binlog = 1 
  48.  
  49. skip-external-locking 
  50.  
  51. skip-name-resolve 
  52.  
  53. default-storage-engine= INNODB 
  54.  
  55. character-set-server= utf8 
  56.  
  57. wait_timeout= 28400 
  58.  
  59. back_log = 1024 
  60.  
  61. ######################### 
  62.  
  63. thread_concurrency = 16 
  64.  
  65. thread_cache_size = 512 
  66.  
  67. table_open_cache = 16384 
  68.  
  69. table_definition_cache = 16384 
  70.  
  71. sort_buffer_size = 2M 
  72.  
  73. join_buffer_size = 2M 
  74.  
  75. read_buffer_size = 4M 
  76.  
  77. read_rnd_buffer_size = 4M 
  78.  
  79. key_buffer_size = 64M 
  80.  
  81. myisam_sort_buffer_size= 64M 
  82.  
  83. tmp_table_size = 256M 
  84.  
  85. max_heap_table_size = 256M 
  86.  
  87. open_files_limit = 65535 
  88.  
  89. #####Network ###################### 
  90.  
  91. max_allowed_packet = 16M 
  92.  
  93. interactive_timeout = 28400 
  94.  
  95. wait_timeout = 28400 
  96.  
  97. max-connections = 1000 
  98.  
  99. max_user_connections = 0 
  100.  
  101. max_connect_errors = 100 
  102.  
  103. ######Repl ##################### 
  104.  
  105. server-id = 1 
  106.  
  107. report-host = 172.16.183.56 
  108.  
  109. log-bin = mysql-bin 
  110.  
  111. binlog_format = mixed 
  112.  
  113. expire_logs_days = 7 
  114.  
  115. relay-log = relay-log 
  116.  
  117. #replicate-wild-do-table= zabbix.% 
  118.  
  119. #replicate-wild-do-table= zabbix_server.% 
  120.  
  121. replicate_wild_ignore_table=mysql.% 
  122.  
  123. replicate_wild_ignore_table=test.% 
  124.  
  125. log_slave_updates 
  126.  
  127. skip-slave-start 
  128.  
  129. #slave-net-timeout = 10 
  130.  
  131. #rpl_semi_sync_master_enabled = 1 
  132.  
  133. #rpl_semi_sync_master_wait_no_slave = 1 
  134.  
  135. #rpl_semi_sync_master_timeout = 1000 
  136.  
  137. #rpl_semi_sync_slave_enabled = 1 
  138.  
  139. relay_log_recovery = 1 
  140.  
  141. ##### Innodb ########### 
  142.  
  143. innodb_data_home_dir = /data/mariadb/data 
  144.  
  145. innodb_data_file_path = ibdata1:2G;ibdata2:2G:autoextend 
  146.  
  147. innodb_autoextend_increment = 500 
  148.  
  149. innodb_log_group_home_dir = /data/mariadb/data 
  150.  
  151. innodb_buffer_pool_size = 8G 
  152.  
  153. innodb_buffer_pool_dump_at_shutdown= 1 
  154.  
  155. innodb_buffer_pool_load_at_startup= 1 
  156.  
  157. innodb_buffer_pool_instances = 8 
  158.  
  159. innodb_additional_mem_pool_size= 128M 
  160.  
  161. innodb_log_files_in_group = 3 
  162.  
  163. innodb_log_file_size = 512M 
  164.  
  165. innodb_log_buffer_size = 8M 
  166.  
  167. innodb_flush_log_at_trx_commit = 1 
  168.  
  169. innodb_lock_wait_timeout = 120 
  170.  
  171. innodb_flush_method = O_DIRECT 
  172.  
  173. innodb_max_dirty_pages_pct = 75 
  174.  
  175. innodb_io_capacity = 1000 
  176.  
  177. innodb_thread_concurrency = 0 
  178.  
  179. innodb_thread_sleep_delay = 500 
  180.  
  181. innodb_concurrency_tickets = 1000 
  182.  
  183. innodb_open_files = 65535 
  184.  
  185. innodb_file_per_table = 1 
  186.  
  187. #########線程池,在高並發高負載情況下表現出出色的數據庫性能 ## 
  188.  
  189. thread_handling = pool-of-threads 
  190.  
  191. ######NUMA ######################### 
  192.  
  193. innodb_buffer_pool_populate = 1 
  194.  
  195. ################################## 
  196.  
  197. [mysqldump] 
  198.  
  199. quick 
  200.  
  201. max_allowed_packet= 16M 
  202.  
  203. [mysql] 
  204.  
  205. no-auto-rehash 
  206.  
  207. default-character-set=utf8 
  208.  
  209. [myisamchk] 
  210.  
  211. key_buffer_size= 256M 
  212.  
  213. sort_buffer_size= 256M 
  214.  
  215. read_buffer= 2M 
  216.  
  217. write_buffer= 2M 
  218.  
  219. [mysqld_safe] 
  220.  
  221. ######CLOSED NUMA ########### 
  222.  
  223. flush_caches 
  224.  
  225. numa_interleave 
  226.  
  227. [mysqlhotcopy] 
  228.  
  229. interactive_timeout = 28400 

4、數據庫初始化和啟動

數據庫初始化和啟動腳本如下:

  1. #/data/mariadb/scripts/mysql_install_db--basedir=/data/mariadb --datadir=/data/mariadb/data --defaults-file=/data/mariadb/etc/my.cnf--user=mysql 
  2.  
  3. #/data/mariadb/bin/mysqld_safe--defaults-file=/data/mariadb/etc/my.cnf --user=mysql & 
  4.  
  5. #echo “/data/mariadb/bin/mysqld_safe--defaults-file=/data/mariadb/etc/my.cnf --user=mysql &”>>/etc/rc.local #加入到系統啟動項中 




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved