mysql-5.6.34 Installation from Source code

来源:http://www.cnblogs.com/lyonlee/archive/2016/12/23/6215248.html
-Advertisement-
Play Games

Took me a while to suffer from the first successful souce code installation of mysql-5.6.34. Just put it here and share it with u. Env.OS:Red Hat Ente ...


Took me a while to suffer from the first successful souce code installation of mysql-5.6.34. Just put it here and share it with u.

 

Env.

OS:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Mysql: mysql-5.6.34

1. Install Cmake

[root@exadata1 cmake-3.7.1]# pwd
/root/mysql_install/cmake-3.7.1
[root@exadata1 cmake-3.7.1]# ./configure
.
.
.
-- Build files have been written to: /root/mysql_install/cmake-3.7.1
---------------------------------------------
CMake has bootstrapped.  Now run gmake.


gmake

make install




2. System configuration

2.1 add user/group
groupadd mysql
useradd -g mysql mysql

2.2 vi /etc/security/limits.conf
mysql   soft    nproc   2047
mysql   hard    nproc   16384
mysql   soft    nofile  1024
mysql   hard    nofile  65536



3. CMake config.

3.1 make sure if the package ncurses has been installed.

[root@exadata1 mysql_install]# rpm -qa ncurses
ncurses-5.5-24.20060715
ncurses-5.5-24.20060715

3.2 unzip the Mysql package.
[root@exadata1 mysql-5.7.17]# tar -zxvf mysql-5.7.17.tar.gz
[root@exadata1 mysql-5.7.17]# pwd
/root/mysql_install/mysql-5.7.17

3.3

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='JSS for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock


make && make install


3.4 Trouble shooting and diagnosis.
1.
-- Could NOT find Git (missing:  GIT_EXECUTABLE)

Linux下git安裝配置
http://blog.csdn.net/huaishu/article/details/40891229
    tar -xzf  git-2.1.3.tar.gz  
    cd git-2.1.3  
    ./configure -prefix=/usr/local/git --with-curl  --with-expat  
    make && make install  
    
    修改/etc/profile,在PATH中加入git路徑,並執行source /etc/profile
    GIT_HOME=/usr/local/git  
    PATH=$PATH:$GIT_HOME/bin:$GIT_HOME/libexec/git-core  
    export PATH GIT_HOME  
    
[root@exadata1 git-2.1.3]# . /etc/profile
[root@exadata1 git-2.1.3]# git --version
git version 2.1.3    
    
2. this can be ignored.
CMake Warning:
  Manually-specified variables were not used by the project:
    WITH_READLINE
-- Build files have been written to: /root/mysql_install/mysql-5.6.34
    

    
4. tar a package that can be deployed to any other host with similar specifications and OS.
[root@exadata1 mysql-5.6.34]# tar zcvf mysql-5.6.34.tar.gz /usr/local/mysql/

should be around 230M.

[root@exadata1 mysql-5.6.34]# ls -lht
total 230M
-rw-r--r--  1 root root  229M Dec 23 08:51 mysql-5.6.34.tar.gz

5. create Mysql DB
5.1
[root@exadata1 mysql-5.6.34]# chown -R mysql.mysql /usr/local/mysql
5.2 make dir
[root@exadata1 ~]# mkdir -p /data/mysqldata/3306/
[root@exadata1 ~]# chown -R mysql.mysql /data

bash-3.2$ id
uid=101(mysql) gid=1006(mysql) groups=1006(mysql)
bash-3.2$ mkdir -p /data/mysqldata/3306/data
bash-3.2$ mkdir -p /data/mysqldata/3306/tmp
bash-3.2$ mkdir -p /data/mysqldata/3306/binlog/mysql-bin
          mkdir -p /data/mysqldata/3306/share/english

5.3 Edit profile

vi ~/.bash_profile

export LANG=zh_CN.GB18030
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

5.4 prepare .cnf

vi /data/mysqldata/3306/my.cnf
[client]
port = 3306
socket = /data/mysqldata/3306/mysql.sock

#The MySQL Server
[mysqld]
port = 3306
user = mysql
socket = /data/mysqldata/3306/mysql.sock
pid-file = /data/mysqldata/3306/mysql.pid
basedir = /usr/local/mysql
datadir = /data/mysqldata/3306/data
language = /data/mysqldata/3306/share/english
tmpdir = /data/mysqldata/3306/tmp
open_files_limit = 10240
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#Buffer
max_allowed_packet = 256M
max_heap_table_size = 256M
net_buffer_length = 8k
sort_buffer_size = 2M
join_buffer_size = 4M
read_buffer_size = 2M
read_rnd_buffer_size = 16M

#Log
log-bin = /data/mysqldata/3306/binlog/mysql-bin
binlog_cache_size = 32M
max_binlog_cache_size = 512M
max_binlog_size = 512M
binlog_format = mixed
log_output = FILE
log-error = ../mysql-error.log
slow_query_log = 1
slow_query_log_file = ../slow_query.log
general_log = 0
general_log_file = ../general_query.log
expire-logs-days = 14

#InnoDB
innodb_data_file_path = ibdata1:2048M:autoextend
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_buffer_pool_size = 1024M

[mysql]
no-auto-rehash
prompt = (\u@\h)[\d]>\_
default-character-set = gbk


5.4 init mysql DB as root
/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql --user=mysql

/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql



5.5 startup DB as root
mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

check status:
[root@exadata1 share]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE     DEVICE SIZE NODE NAME
mysqld  3779 mysql   14u  IPv6 3365226829       TCP *:mysql (LISTEN)
[root@exadata1 share]# netstat -na |grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      
unix  2      [ ACC ]     STREAM     LISTENING     3365226830 /data/mysqldata/3306/mysql.sock



2016-12-23 15:39:14 0 [Warning] The syntax '--language/-l' is deprecated and will be removed in a future release. Please use '--lc-messages-dir' instead.
2016-12-23 15:39:14 32112 [ERROR] Can't find messagefile '/data/mysqldata/3306/share/english/errmsg.sys'

Need to copy errmsg.sys from the source package and edit my.cnf (add language parameter)
[root@exadata1 english]# cp /root/mysql_install/mysql-5.6.34/sql/share/english/errmsg.sys /data/mysqldata/3306/share/english/.


5.6 shutdown DB as root ( need mysql root password which is 'mysql123' in my case )
[root@exadata1 english]# mysqladmin -u root -p shutdown
Enter password:
161223 15:48:43 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended
[1]+  Done                    mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf  (wd: /data/mysqldata/3306/share/english)
(wd now: ~/mysql_install/mysql-5.6.34/sql/share/english)


5.7 Add mysql into service so that it can be started when host is rebooted.
[root@exadata1 support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@exadata1 support-files]#

[root@exadata1 support-files]# service mysql status
MySQL running (3779)                                       [  OK  ]
[root@exadata1 support-files]# service mysql stop
Shutting down MySQL..161223 16:15:37 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended
                                                           [  OK  ]
[1]+  Done                    mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf  (wd: /usr/local/mysql/share)
(wd now: /usr/local/mysql/support-files)
[root@exadata1 support-files]# service mysql start
Starting MySQL..                                           [  OK  ]
[root@exadata1 support-files]# service mysql status
MySQL running (5183)                                       [  OK  ]
[root@exadata1 support-files]#


5.8 log into mysql as mysql os user.
[root@exadata1 support-files]# su - mysql
-bash-3.2$
-bash-3.2$
-bash-3.2$ bash
bash-3.2$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

export PATH

bash-3.2$ mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.34-log JSS for mysqltest

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(root@localhost)[(none)]>


Reference
http://www.cnblogs.com/jyzhao/p/5516031.html
http://www.cnblogs.com/Richardzhu/p/3220883.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  •   直播的採集由採集的設備(攝像頭、話筒)不同分為視頻採集和音頻採集,本篇文章會分別介紹。 1.採集步驟   1.創建捕捉會話(AVCaptureSession),iOS調用相機和話筒之前都需要創建捕捉對話,把輸入輸出設備添加進對話中。  &emsp ...
  • 一、在res/menu文件夾下創建Xml文件 跟標簽為menu,設置item <?xml version="1.0" encoding="utf-8"?> <myapp:menu xmlns:android="http://schemas.android.com/apk/res/android" x ...
  • 這個錯誤是因為有兩個相同的jar包,刪除其中一個就可以正常運行了。 ...
  • 數據準備 find find的第一個參數決定了要返回哪些文檔,用於指定查詢條件。要不指定查詢文檔,預設就是{},指定多個鍵/值對,相當於sql的and。第二個參數來指定想要的鍵(預設情況下,"_id"總是顯示)。 查詢條件 And查詢 使用AND型查詢時,應儘可能用最少的條件來限定結果的範圍。 當然 ...
  • Spark是現在應用最廣泛的分散式計算框架,oozie支持在它的調度中執行spark。在我的日常工作中,一部分工作就是基於oozie維護好每天的spark離線任務,合理的設計工作流並分配適合的參數對於spark的穩定運行十分重要。 Spark Action 這個Action允許執行spark任務,需 ...
  • 想安裝當然要先有一個MySql的安裝包 這裡使用的是mysql-5.7.12-winx64 安裝包百度雲:http://pan.baidu.com/s/1kVAuXuv 密碼:hr39 1.要將壓縮包解壓到你的指定位置(最好將要用的工具文件分類放好) 例如:D:\javaApp\mysql-5.7. ...
  • 【轉自網路】https://my.oschina.net/cers/blog/292191 PK Belongs to primary key 作為主鍵 NN Not Null 非空 UQ Unique index 不能重覆 BIN Is binary column 存放二進位數據的列 UN Uns ...
  • 分析: 資料庫設計應遵循三大範式分別為: 第一範式:確保表中每列的原子性(不可拆分); 第二範式:確保表中每列與主鍵相關,而不能只與主鍵的某部分相關(主要針對聯合主鍵),主鍵列與非主鍵列遵循完全函數依賴關係(完全依賴); 第三範式:非主鍵列之間沒有傳遞函數依賴關係(消除傳遞依賴); 詳述: 第一範式 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...