1. 程式人生 > >mysql-5.6原始碼安裝配置

mysql-5.6原始碼安裝配置

環境:CentOS6.3/6.4 最小化預設安裝,配置好網絡卡。

本安裝將MySQL的資料檔案與執行檔案分離,如果你打算設定到不同的路徑,注意修改對應的執行命令和資料庫初始化指令碼。

多說兩句:在啟動MySQL服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會搜尋"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置檔案的預設位置!注意:在CentOS 6.4版作業系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此檔案更名為其他的名字,如:/etc/my.cnf.bak,否則,該檔案會干擾原始碼安裝的MySQL的正確配置,造成無法啟動。

# 修改防火牆設定,開啟3306埠
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

# 重啟防火牆使新設定生效
service iptables restart

# 新增使用者組
groupadd mysql

# 新增使用者
useradd mysql -g mysql –s /sbin/nologin

# 新建資料庫執行檔案目錄
mkdir -p /usr/local/mysql/

# 新建資料庫資料檔案目錄
mkdir -p /data/mysql/data/

# 編輯PATH搜尋路徑
vim /etc/profile #把mysql服務加入系統環境變數:在最後新增下面這一行
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

# 生效PATH搜尋路徑
source /etc/profile

# 安裝編譯原始碼所需的工具和庫
yum -y install wget gcc-c++ ncurses-devel cmake make perl

# 進入原始碼壓縮包下載目錄
cd /usr/src

# 解壓縮原始碼
tar -zxvf mysql-5.6.10.tar.gz

# 進入解壓縮原始碼目錄
cd mysql-5.6.10

# 從mysql5.5起,mysql原始碼安裝開始使用cmake了,執行原始碼編譯配置指令碼,注意前面的 “-” 要帶上。

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DMYSQL_DATADIR=/data/mysql/data\
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1

# 編譯原始碼,這一步時間會較長,耐心等待。
make

# 安裝
make install

# 清除安裝臨時檔案
make clean

# 修改目錄擁有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql

# 進入安裝路徑
cd /usr/local/mysql

cp support-files/my-huge.cnf/etc/my.cnf (mysql-5.5不會自動生成,可拷貝配置檔案到/etc目錄下)

vi /etc/my.cnf #編輯配置檔案,在 [mysqld] 部分增加

user = mysql

port = 3306

socket = /data/mysql/mysql.sock

pid-file = /data/mysql/mysql.pid

log_error = /data/mysql/mysql-error.log

datadir = /data/mysql/data #新增MySQL資料庫路徑

# 執行初始化配置指令碼,建立系統自帶的資料庫和表。
scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data

# 複製服務啟動指令碼
cp support-files/mysql.server /etc/init.d/mysqld

# 啟動MySQL服務
service mysqld start

# 設定開機自動啟動服務
chkconfig mysqld on

# 修改MySQL使用者root的密碼
mysql -u root

mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY"root";
mysql>update user set Password = password('123456') where User='root';
mysql>flush privileges;

或者GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY ‘123456’ WITH GRANT OPTION; #mysql控制檯執行允許遠端連線mysql
mysql>exit;

# 可選:執行安全設定指令碼,修改MySQL使用者root(不是系統的root!)的密碼,禁止root遠端連線(防止破解密碼),移除test資料庫和匿名使用者,強烈建議生產伺服器使用:

/usr/local/mysql/bin/mysql_secure_installation