MySQL多實例安裝

来源:http://www.cnblogs.com/hackerer/archive/2016/04/08/5370109.html
-Advertisement-
Play Games

1.安裝MySQL需要的依賴的包和編譯軟體 (1)安裝MySQL需要的依賴包 安裝MySQL之前,最好先安裝MySQL需要的依賴包,不然後面會出現報錯,還得回來安裝MySQL的依賴包。 [root@Mysql-server tools]# yum install -y ncurses-devel l ...


 

1.安裝MySQL需要的依賴的包和編譯軟體   (1)安裝MySQL需要的依賴包 安裝MySQL之前,最好先安裝MySQL需要的依賴包,不然後面會出現報錯,還得回來安裝MySQL的依賴包。
  1. [root@Mysql-server tools]# yum install -y ncurses-devel libaio-devel
  2. [root@Mysql-server tools]# rpm -qa ncurses-devel libaio-devel
  3. ncurses-devel-5.7-4.20090207.el6.x86_64
  4. libaio-devel-0.3.107-10.el6.x86_64
  (2)安裝編譯MySQL需要的軟體 要安裝cmake編譯軟體:
  1. [root@Mysql-server tools]# tar xf cmake-2.8.8.tar.gz
  2. [root@Mysql-server tools]# cd cmake-2.8.8
  3. [root@Mysql-server cmake-2.8.8]#./configure
  4. [root@mysql cmake-2.8.8]# gmake
  5. [root@mysql cmake-2.8.8]# gmake install
2.開始安裝MySQL 2.1 創建用戶mysql
  1. [root@mysql tools]# useradd mysql -s /sbin/nologin -M
  2. [root@mysql tools]# id mysql uid=501(mysql) gid=501(mysql) 組=501(mysql) [root@mysql tools]#
2.2 解壓編譯MySQL
  1. tar zxf mysql-5.5.32.tar.gz cd mysql-5.5.32
  2. cmake .-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
  3. -DMYSQL_DATADIR=/application/mysql-5.5.32/data \
  4. -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
  5. -DDEFAULT_CHARSET=utf8 \
  6. -DDEFAULT_COLLATION=utf8_general_ci \
  7. -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
  8. -DENABLED_LOCAL_INFILE=ON \
  9. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  10. -DWITH_FEDERATED_STORAGE_ENGINE=1 \
  11. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  12. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  13. -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
  14. -DWITH_FAST_MUTEXES=1 \
  15. -DWITH_ZLIB=bundled \
  16. -DENABLED_LOCAL_INFILE=1 \
  17. -DWITH_READLINE=1 \
  18. -DWITH_EMBEDDED_SERVER=1 \
  19. -DWITH_DEBUG=0
  20. #-- Build files have been written to: /home/oldboy/tools/mysql-5.5.32
  21. 提示,編譯時可配置的選項很多,具體可參考結尾附錄或官方文檔:
  22. make
  23. #[100%] Built target my_safe_process
  24. make install
  25. ln -s /application/mysql-5.5.32//application/mysql
  26. 如果上述操作未出現錯誤,則MySQL5.5.32軟體cmake方式的安裝就算成功了。
編譯過程中出現如下報錯,解決方法為:
  1. [root@mysql mysql-5.5.32]# rm CMakeCache.txt ###刪除這個文件,重新cmake
   
  1. [root@mysql mysql-5.5.32]# mkdir -p /data/{3306,3307}/data
  2. [root@mysql mysql-5.5.32]# tree /data/
  3. /data/
  4. ├──3306
  5. │??└── data ##實例3306的數據文件
  6. ├──3307
  7. │??└── data ##實例3307的數據文件
  8. └── test
2.3 接著創建配置文件,將data.zip文件上傳到/(根)下,並且使用unzip命令解壓
  1. [root@mysql /]# unzip data.zip ##上傳到根下,加壓會替換上面創建的/data目錄
  2. Archive: data.zip
  3. inflating: data/3306/my.cnf
  4. inflating: data/3306/mysql
  5. inflating: data/3307/my.cnf
  6. inflating: data/3307/mysql
  7. [root@mysql /]# tree /data
  8. data/ data.zip
  9. [root@mysql /]# tree data
  10. data/ data.zip
  11. [root@mysql /]# tree data/
  12. data/
  13. ├──3306
  14. │??├── data
  15. │??├── my.cnf ##實例的配置文件
  16. │??└── mysql ##實例的啟動文件
  17. ├──3307
  18. │??├── data
  19. │??├── my.cnf ##實例的配置文件
  20. │??└── mysql ##實例的啟動文件
  21. └── test
/data/3306/my.cnf配置文件信息
  1. [root@mysql /]# cat /data/3306/my.cnf
  2. [client]
  3. port =3306
  4. socket =/data/3306/mysql.sock
  5. [mysql]
  6. no-auto-rehash
  7. [mysqld]
  8. user = mysql
  9. port =3306
  10. socket =/data/3306/mysql.sock
  11. basedir =/application/mysql
  12. datadir =/data/3306/data
  13. open_files_limit =1024
  14. back_log =600
  15. max_connections =800
  16. max_connect_errors =3000
  17. table_cache =614
  18. external-locking = FALSE
  19. max_allowed_packet =8M
  20. sort_buffer_size =1M
  21. join_buffer_size =1M
  22. thread_cache_size =100
  23. thread_concurrency =2
  24. query_cache_size =2M
  25. query_cache_limit =1M
  26. query_cache_min_res_unit =2k
  27. #default_table_type = InnoDB
  28. thread_stack =192K
  29. #transaction_isolation = READ-COMMITTED
  30. tmp_table_size =2M
  31. max_heap_table_size =2M
  32. long_query_time =1
  33. #log_long_format
  34. #log-error = /data/3306/error.log
  35. #log-slow-queries = /data/3306/slow.log
  36. pid-file =/data/3306/mysql.pid
  37. log-bin =/data/3306/mysql-bin
  38. relay-log =/data/3306/relay-bin
  39. relay-log-info-file =/data/3306/relay-log.info
  40. binlog_cache_size =1M
  41. max_binlog_cache_size =1M
  42. max_binlog_size =2M
  43. expire_logs_days =7
  44. key_buffer_size =16M
  45. read_buffer_size =1M
  46. read_rnd_buffer_size =1M
  47. bulk_insert_buffer_size =1M
  48. #myisam_sort_buffer_size = 1M
  49. #myisam_max_sort_file_size = 10G
  50. #myisam_max_extra_sort_file_size = 10G
  51. #myisam_repair_threads = 1
  52. #myisam_recover
  53. lower_case_table_names =1
  54. skip-name-resolve
  55. slave-skip-errors =1032,1062
  56. replicate-ignore-db=mysql
  57. server-id =1
  58. innodb_additional_mem_pool_size =4M
  59. innodb_buffer_pool_size =32M
  60. innodb_data_file_path = ibdata1:128M:autoextend
  61. innodb_file_io_threads =4
  62. innodb_thread_concurrency =8
  63. innodb_flush_log_at_trx_commit =2
  64. innodb_log_buffer_size =2M
  65. innodb_log_file_size =4M
  66. innodb_log_files_in_group =3
  67. innodb_max_dirty_pages_pct =90
  68. innodb_lock_wait_timeout =120
  69. innodb_file_per_table =0
  70. [mysqldump]
  71. quick
  72. max_allowed_packet =2M
  73. [mysqld_safe]
  74. log-error=/data/3306/mysql_oldboy3306.err
  75. pid-file=/data/3306/mysqld.pid
/data/3307/my.cnf配置文件參數
  1. [root@mysql /]# cat /data/3307/my.cnf
  2. [client]
  3. port =3307
  4. socket =/data/3307/mysql.sock
  5. [mysql]
  6. no-auto-rehash
  7. [mysqld]
  8. user = mysql
  9. port =3307
  10. socket =/data/3307/mysql.sock
  11. basedir =/application/mysql
  12. datadir =/data/3307/data
  13. open_files_limit =1024
  14. back_log =600
  15. max_connections =800
  16. max_connect_errors =3000
  17. table_cache =614
  18. external-locking = FALSE
  19. max_allowed_packet =8M
  20. sort_buffer_size =1M
  21. join_buffer_size =1M
  22. thread_cache_size =100
  23. thread_concurrency =2
  24. query_cache_size =2M
  25. query_cache_limit =1M
  26. query_cache_min_res_unit =2k
  27. #default_table_type = InnoDB
  28. thread_stack =192K
  29. #transaction_isolation = READ-COMMITTED
  30. tmp_table_size =2M
  31. max_heap_table_size =2M
  32. #long_query_time = 1
  33. #log_long_format
  34. #log-error = /data/3307/error.log
  35. #log-slow-queries = /data/3307/slow.log
  36. pid-file =/data/3307/mysql.pid
  37. #log-bin = /data/3307/mysql-bin
  38. relay-log =/data/3307/relay-bin
  39. relay-log-info-file =/data/3307/relay-log.info
  40. binlog_cache_size =1M
  41. max_binlog_cache_size =1M
  42. max_binlog_size =2M
  43. expire_logs_days =7
  44. key_buffer_size =16M
  45. read_buffer_size =1M
  46. read_rnd_buffer_size =1M
  47. bulk_insert_buffer_size =1M
  48. #myisam_sort_buffer_size = 1M
  49. #myisam_max_sort_file_size = 10G
  50. #myisam_max_extra_sort_file_size = 10G
  51. #myisam_repair_threads = 1
  52. #myisam_recover
  53. lower_case_table_names =1
  54. skip-name-resolve
  55. slave-skip-errors =1032,1062
  56. replicate-ignore-db=mysql
  57. server-id =3
  58. innodb_additional_mem_pool_size =4M
  59. innodb_buffer_pool_size =32M
  60. innodb_data_file_path = ibdata1:128M:autoextend
  61. innodb_file_io_threads =4
  62. innodb_thread_concurrency =8
  63. innodb_flush_log_at_trx_commit =2
  64. innodb_log_buffer_size =2M
  65. innodb_log_file_size =4M
  66. innodb_log_files_in_group =3
  67. innodb_max_dirty_pages_pct =90
  68. innodb_lock_wait_timeout =120
  69. innodb_file_per_table =0
  70. [mysqldump]
  71. quick
  72. max_allowed_packet =2M
  73. [mysqld_safe]
  74. log-error=/data/3307/mysql_oldboy3307.err
  75. pid-file=/data/3307/mysqld.pid
  特別說明: 本文多實例啟動文件的啟動mysql服務實質命令: mysqld_safe --defaults-file=/data /3306/my.cnf 2>&1 /dev/null & mysqld_safe --defaults-file=/data /3307/my.cnf 2>&1 /dev/null &
  本文多實例啟動文件的停止mysql服務實質命令:
mysqladmin -u root -p123456 -S /data/3306/mysql.sock shutdown mysqladmin -u root -p123456 -S /data/3307/mysql.sock shutdown   2.4 修改數據文件/data 許可權
  1. [root@mysql /]# chown -R mysql.mysql /data
  2. [root@mysql /]# find /data -type f -name "my.cnf"|xargs ls -l ##將my.cnf文件許可權設置成644
  3. -rw-r--r--.1 mysql mysql 189910292013/data/3306/my.cnf
  4. -rw-r--r--.1 mysql mysql 190110292013/data/3307/my.cnf
  5. [root@mysql /]# find /data -type f -name "mysql"|xargs ls -l ##由於mysql腳本中保存了登錄資料庫的密碼,需要將文件許可權設置成700,只允許root,mysql訪問
  6. -rw-r--r--.1 mysql mysql 13077152013/data/3306/mysql
  7. -rw-r--r--.1 mysql mysql 13077212013/data/3307/mysql
  8. [root@mysql /]# find /data -type f -name "mysql"|xargs chmod 700
  9. [root@mysql /]# find /data -type f -name "mysql"|xargs ls -l
  10. -rwx------.1 mysql mysql 13077152013/data/3306/mysql
  11. -rwx------.1 mysql mysql 13077212013/data/3307/mysql
2.5 配置MySQL命令全局使用路徑      如果不為MySQL的命令配置全局路徑,就無法直接在命令行輸入mysql,這樣只能用全路徑/application/msyq/bin/mysql 這樣帶著路徑輸出會比較麻煩   2.5.1 配置MySQL全局路徑方法 1.確認mysql命令所在路徑
  1. [root@mysql /]# ll /application/mysql/bin/mysql
  2. -rwxr-xr-x.1 root root 53453564816:05/application/mysql/bin/mysql
2. 修改PATH路徑
  1. [root@mysql /]# tail -1/etc/profile
  2. export PATH=/application/mysql/bin:$PATH ##添加如下行
  3. [root@mysql /]# source /etc/profile ##讓其生效
3. 最後檢查PATH
  1. [root@mysql /]# echo $PATH
  2. /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.6 初始化資料庫
  1. cd /application/mysql/scripts/##註意和MySQL 5.1的路徑不同,MySQL 5.1 不在mysql/bin下
  2. ./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data/--user=mysql
  3. ./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data/--user=mysql
註意: 當初始化的過程中出現兩個OK時,表示初始化成功
3. 最後啟動mysql
  1. [root@mysql scripts]#/data/3306/mysql start
  2. StartingMySQL...
  3. [root@mysql scripts]#/data/3307/mysql start
  4. StartingMySQL...
  5. 查看是否啟動成功
  6. [root@mysql scripts]# netstat -lntup|grep mysql
  7. tcp 000.0.0.0:33060.0.0.0:* LISTEN 4614/mysqld
  8. tcp 000.0.0.0:33070.0.0.0:* LISTEN 5412/mysqld
4. 登錄mysql mysql -uroot -p123456 -S /data/3306/mysql.sock 5. 多實例修改mysql 密碼
  1. [root@mysql scripts]# mysqladmin -uroot password 123456 -S /data/3306/mysql.sock
  2. [root@mysql scripts]# mysqladmin -uroot password 123456 -S /data/3307/mysql.sock
6. 修改配置文件中的mysql連接密碼,如果不修改否則在停庫的時候會報錯
  1. [root@mysql scripts]# sed -i '13 s#oldboy#123456#g'/data/3306/mysql
  2. [root@mysql scripts]# sed -n '13p'/data/3306/mysql
  3. mysql_pwd="123456"
  4. [root@mysql scripts]# sed -i '13 s#oldboy#123456#g' /data/3307/mysql [root@mysql scripts]# sed -n '13p' /data/3307/mysql mysql_pwd="123456" [root@mysql scripts]#
7.停止mysql資料庫
  1. [root@mysql scripts]#/data/3306/mysql stop
  2. StopingMySQL...
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • UICollectionView @interface UICollectionView : UIScrollView UICollectionView 和UICollectionViewController類是iOS6新引進的API,用於展示集合視圖,佈局更加靈活,可實現多列佈局,用法類似UITa ...
  • IOS 圖片輪播實現原理的一種 圖片輪播所要實現的是在一個顯示區域內通過滑動來展示不同的圖片。 當圖片較少時我們可以採用在滾動視圖上添加很多張圖片來實現。 但是如果圖片數量較多時,一次性載入過多圖片會浪費記憶體,影響性能。 因此我們要採取適當地方法來實現圖片的輪播。 下麵我們只是簡單的介紹很多方法中的 ...
  • 1. Objc是一門編譯型語言,JAVA是解析型語言 編譯型語言:把做好的源程式全部編譯成二進位代碼的可運行程式。然後,可直接運行這個程式。 編譯型語言,執行速度快、效率高;依賴編譯器、跨平臺性差些。 解析型語言:解釋性語言在運行程式的時候才翻譯,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一 ...
  • 在我學習hive的時候,按照官網上的demo, // sc is an existing SparkContext. val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) sqlContext.sql("CREATE TABLE ...
  • 介紹 本篇文章主要從查看MySQL的啟動命令的代碼來詳細瞭解MySQL的啟動過程,內容多為概念知識;理解MySQL的啟動原理對熟悉MySQL至關重要,啟動mysql服務有三種方式分別是:mysql.sever,mysqld,mysqld_safe。 my.cnf mysql.server 預設的my ...
  • Knowledge Dependence:閱讀文本前,你需要瞭解基本的關係型資料庫與非關係型(NoSQL)資料庫的概念和區別,以及 MongoDB(Mongoose)的簡單實踐。 ​ 這兩三年來,伴隨著大數據(Big Data)的空前火熱,無論是在工程界還是科研界,非關係型資料庫(NoSQL)都已經 ...
  • 實驗環境:Ubnuntu 64位(推薦使用14.04)+Xshell 阿裡雲現在提供的雲伺服器很好用的,用來編譯內核性能也不錯。本文介紹最基本的內核編譯方法,為了方便,所有操作均在root用戶下進行。 如果不是root用戶可以使用su命令切換到root用戶。 註:使用xshell的時候最好把這一項給 ...
  • In order to provide an environment for network experiments in the future, I use VirutalBox to create some hosts. My real host is Ubuntu 14.04 LTS. And ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...