wget
#tar -zxvf mysql-5.6.10.tar.gz
2, 安裝編譯原始碼所需的工具和庫
#yum -y install gcc gcc-c++ autoconf automake bison ncurses-devel libtool-ltdl-devel* cmake make openssl openssl-devel
3,安裝完成後為mysql做準備
#mkdir -p /usr/local/mysql
#mkdir -p /var/mysqldata
groupadd mysql
useradd -g mysql mysql
生效path搜尋路徑
#source /etc/profile
5,編譯安裝
#cd mysql-5.6.10
#cmake . -dcmake_install_prefix=/usr/local/mysql \
-dmysql_datadir=/var/mysqldata \
-dmysql_unix_addr=/usr/local/mysql/mysqld.sock \
-dmysql_tcp_port=3310 \
-dmysql_user=mysql \
-dsysconfdir=/etc \
-ddefault_charset=utf8 \
-ddefault_collation=utf8_general_ci \
-dextra_charsets=all \
-dwith_debug=0 \
-dwith_innobase_storage_engine=1 \
-dwith_archive_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
-dwith_readline=1 \
-denabled_local_infile=1 \
-dwith_partition_storage_engine=1 \
-dwith_ssl=system \
#make && make install
6,完成後進入mysql安裝目錄,修改資源記憶體分配
#cd /usr/local/mysql/
#cp support-files/my-default.cnf /etc/my.cnf
#vim /etc/my.cnf
根據伺服器硬體配置,將資料目錄和套接字檔案修改為實際值.
join_buffer_size = 1024m
sort_buffer_size = 16m
read_rnd_buffer_size = 32m
##注:
sort_buffer_size = 6m
#查詢排序時所能使用的緩衝區大小。注意:該引數對應的分配記憶體是每連線獨佔!如果有100個連線,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600mb。所以,對於內存在4gb左右的伺服器推薦設定為6-8m。
read_buffer_size = 4m
#讀查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,該引數對應的分配記憶體也是每連線獨享!
join_buffer_size = 8m
#聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該引數對應的分配記憶體也是每連線獨享!
7,修改許可權
#chown mysql:mysql /etc/my.cnf
#chown -r mysql:mysql /usr/local/mysql
#chown -r mysql:mysql /var/mysqldata
8,資料庫初始化並新增開機啟動
#cd /usr/local/mysql
#chmod 755 scripts/mysql_install_db
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysqldata
設定開機自啟動服務控制指令碼
執行下面的命令複製啟動指令碼到資源目錄:
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
執行下面的命令增加mysqld服務控制指令碼執行許可權:
#chmod +x /etc/rc.d/init.d/mysqld
執行下面的命令將mysqld服務加入到系統服務:
#chkconfig --add mysqld
執行下面的命令檢查mysqld服務是否已經生效:
#chkconfig --list mysqld
命令輸出類似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
9,啟動mysql
#service mysqld start
【編譯引數】
mysql 5.6還增加3個跟memcached api有關的編譯選項:
// enable sasl on innodb memcached
enable_memcached_sasl:bool=off
// enable sasl on innodb memcached
enable_memcached_sasl_pwdb:bool=off
with_innodb_memcached:bool=off
在虛擬機器上編譯時還發現-dwithout_partition_storage_engine=1編譯出錯,不能通過的情況。
如果是公升級,那麼安裝mysql 5.6後,需要重新編譯php,或者修改php.ini指定mysql.default_socket = /tmp/mysql.sock位置,否則phpmyadmin登陸時會出現:「#2002 無法登入 mysql 伺服器」的情況。
安裝後,mysql 5.6和之前版本不同,5.6沒有my-medium.cnf等配置樣板檔案,而是只有個mysql-5.6.10/support-files/my-default.cnf,安裝後會自動存放到mysql/my.cnf,開啟後發現啥也沒有。
語法方面:5.6中,sql語句的get將成為關鍵字,需要加``反引號包圍。
【常見錯誤】
錯誤二:starting mysql.the server quit without updating pid file (/[failed]l/mysql/
像上面這樣的mysql啟動錯誤,可謂經常看到到底是什麼原因導致的呢,網上的分析解釋有很多,
有人分析師skip-federated這個引數就可以了,
又有人認為刪除data/mysql-bin.index檔案,就可以啟動服務,
其實導致出現此錯誤的原因有很多,解決辦法也有很多,我嘗試像上面的兩種解決辦法一樣故意做出錯誤引數配置,而上面提到的方法也確實解決了問題.不過這都是不全面的,我也不可能提出更加全面的解決辦法.
不過出現上面的錯誤可以說解決辦法都是你的引數配置出現問題導致的,
解決思路:
1:首先檢查你的錯誤日誌,找到最近的錯誤.檢視問題出現在哪.
2:去修改my.cnf中的引數配置,但是請注意,修改的時候你務必要記清楚那些事修改了,方便稍後做出更加正確合理的再次修改.
在配置引數的時候一定注意高度重視innodb引擎引數的配置,它是極易導致錯誤的關鍵所在.
錯誤三:編譯安裝失敗後,重新編譯時要清除快取
rm -rf cmakecache.txt
mysql 編譯 MySQL 編譯安裝
1 安裝思路解壓 tar 生成 configure cmake 編譯 make 安裝 make install 5.5版本之前 tar configure make make install 5.5版本之後 cmake gmake 2 安裝mysql cmake 定製功能 儲存引擎 字符集 壓縮 定...
mysql編譯安裝原理 MySQL編譯安裝全過程
環境介紹 安裝 lrzsz 軟體,這個軟體和編譯安裝 mysql 無關,只是為了方便後面通過 xshell 拖拽其他軟體 yum y install lrzsz 安裝 mysql 需要的各種依賴包 yum y install ncurses devel libaio devel 建立 home yu...
mysql編譯安裝原理 MySQL編譯安裝全過程
環境介紹 安裝 lrzsz 軟體,這個軟體和編譯安裝 mysql 無關,只是為了方便後面通過 xshell 拖拽其他軟體 yum y install lrzsz 安裝 mysql 需要的各種依賴包 yum y install ncurses devel libaio devel 建立 home yu...