網上關於mysql5.6 的安裝教程很多,但是我在按照他們的教程安裝的時候,總是會遇到各種問題,但是作者並沒有指出解決辦法,然後各種google之後,參考所有人的過程,終於安裝成功,記錄下來!
1 下載MySQL5.6源碼包,然後我是解壓到/home/cg/my/myapp/下面。
2 mysql 從5.5版本之後不是用./configure ,而是用cmake,所以需要安裝cmake , sudo apt-get instal cmake
3 我是安裝在/home/cg/my/server/mysql目錄下,我一直也有個疑問為什麼大家都喜歡安裝到/uer/local下面,這樣重裝系統之後不就什麼都沒有了嗎??可能所大家都互相抄的原因吧,抄成了習慣。
4 cd //home/cg/my/myapp/mysql-5.6.24
cmake \
-DCMAKE_INSTALL_PREFIX=/home/cg/my/server/mysql \
-=/home/cg/my/server/mysql \
-DMYSQL_DATADIR=/home/cg/my/server/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DEXTRA_CHARSETS=all
如果想知道參數到意思,可以去看官方文檔,或者這裡有個較為詳細到總結:。這裡我大概說下意思。
DCMAKE_INSTALL_PREFIX 安裝目錄
DSYSCONFDIR 配置文件(my.cnf)目錄
DMYSQL_DATADIR 數據存儲目錄
DMYSQL_TCP_PORT TCP/IP端口
DMYSQL_UNIX_ADDR UNIX socket文件
DEXTRA_CHARSETS 擴展字符支持 默認all
5 如果配置報錯,可能需要安裝libssl-dev,libncurses5-dev,第一次配置報錯,第二次配置前,需要刪除源碼目錄下的CMakeCache.txt,再配置。
6 編譯,安裝
make
make install
7 初始化數據庫:
chmod 755 scripts/mysql_install_db
scripts/mysql_install_db –basedir=/home/cg/my/server/mysql/ –datadir=/home/cg/my/server/mysql/data/
8 復制啟動腳本,開機自啟:
sudo cp /etc/t.d/mysql
sudo chmod 755 /etc/init.d/mysql
9 手動啟動
sudo /etc/init.d/mysql start
PS:如果遇到 . * The server quit without updating PID file (/home/cg/my/server/mysql/data/cg-Lenovo-G470.pid).
這樣到問題(我遇到過)。
(1)新建運行Mysql的用戶和組
sudo groupadd mysql
sudo useradd -g mysql mysql
(2)設置Mysql安裝目錄的權限
cd /home/cg/my/server/mysql
sudo chown -R mysql:mysql ./
(3)修改配置文件 my.cnf
配置文件在的地方在cmake參數裡面
在下面添加
[client]
port = 3306
socket = /home/cg/my/server/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /home/cg/my/server/mysql/data/mysql.sock
basedir = /home/cg/my/server/mysql
datadir = /home/cg/my/server/mysql/data
OK
sudo mysql start 成功!
10 更改root密碼:
/home/cg/my/server/mysql/bin/mysqladmin -u root password ‘123456’
11 啟動
sudo mysql start
不過想要直接在終端運行 mysql -u root -p 會提示The program ‘mysql’ can be found in the following packages:
解決辦法
$ ‘/home/cg/my/server/mysql/bin/mysql’ -u root -p 即可。
終極解決辦法,添加到環境變量就是了,詳細步驟不再多說。