一共有兩種方法
一、安裝連接埠為3306mysql
tar -zxvf mysql-5.1.44.tar.gz
cd mysql-5.1.44
建立mysql使用者組
groupadd mysql
建立mysql3306使用者
useradd -g mysql mysql3306
編譯安裝
./configure --prefix=/usr/local/mysql3306 --with-unix-socket-path=/usr/local/mysql3306/var/mysql.sock --sysconfdir=/usr/local/mysql3306/--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --disable-shared --with-mysqld-user=mysql3306 --with-extra-charsets=gb2312,big5,gbk
make && make install
建立設定檔目錄並拷貝設定檔
mkdir /usr/local/mysql3306/etc
cp support-files/my-medium.cnf /usr/local/mysql3306/etc/my.cnf
添加到系統服務並開機啟動
cp support-files/mysql.server /etc/init.d/mysqld3306
chmod 755 /etc/init.d/mysqld3306
chkconfig --add mysqld3306
chkconfig --level 2345 mysqld3306 on
配置系統內容變數
echo "PATH=/usr/local/mysql3306/bin:\$PATH" >> /home/mysql3306/.bashrc
初始化安裝資料庫
/usr/local/mysql3306/bin/mysql_install_db --user=mysql3306
chown -R mysql3306:mysql /usr/local/mysql3306/*
啟動服務
/usr/local/mysql3306/bin/mysqld_safe --user=mysql3306 &
更改mysql資料庫root密碼
/usr/local/mysql3306/bin/mysqladmin -u root password root //root改為你需要的密碼
重啟mysql3306服務
service mysqld3306 restart
二、安裝連接埠為3307的mysql
tar -zxvf mysql-5.1.44.tar.gz
cd mysql-5.1.44
建立mysql3307使用者
useradd -g mysql mysql3307
編譯安裝
./configure --prefix=/usr/local/mysql3307 --with-unix-socket-path=/usr/local/mysql3307/var/mysql.sock --sysconfdir=/usr/local/mysql3307/etc --with-charset=utf8 --without-debug --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --disable-shared --with-mysqld-user=mysql3307 --with-extra-charsets=gb2312,big5,gbk
make && make install
建立設定檔目錄並拷貝設定檔
mkdir /usr/local/mysql3307/etc
cp support-files/my-medium.cnf /usr/local/mysql3307/etc/my.cnf
添加到系統服務並開機啟動
cp support-files/mysql.server /etc/init.d/mysqld3307
chmod 755 /etc/init.d/mysqld3307
chkconfig --add mysqld3307
chkconfig --level 2345 mysqld3307 on
初始化安裝資料庫
/usr/local/mysql3307/bin/mysql_install_db --user=mysql3307
chown -R mysql3307:mysql /usr/local/mysql3307/*
修改my.cnf設定監聽連接埠為3307
vi /usr/local/mysql3307/etc/my.cnf
配置系統內容變數
echo "PATH=/usr/local/mysql3306/bin:\$PATH" >> /home/mysql3307/.bashrc
啟動mysql3307服務
/usr/local/mysql3307/bin/mysqld_safe --user=mysql3307 &
修改mysql3307資料庫密碼
/usr/local/mysql3307/bin/mysqladmin -u root password root //root改為你需要的密碼
重啟資料庫服務
service mysqld3307 restart
三、編譯參數解析
--prefix=/usr/local/mysql3306 指定安裝路徑
--with-unix-socket-path=/usr/local/mysql3306/var/mysql.sock 指定socket的通訊端檔案,多個執行個體時必須指定,否則多個執行個體會同時預設取/tmp/mysql.sock
--sysconfdir=/usr/local/mysql3306/etc mysql執行個體啟動後的設定檔所在,預設是安裝路徑下的[PREFIX/etc]此處指定的目的是強調需為每個執行個體配置my.cnf,同時需要保證 /etc/my.cnf不存在,因為啟動指令碼一般會先去讀/etc/my.cnf
--with-charset=utf8 預設字元集
--with-extra-charsets=gb2312,big5,gbk 支援的其他字元集,減少不必要的開銷,Mysql預設支援20多種字元集
--without-debug 去掉偵錯模式,據說可以最佳化
--enable-assembler 使用一些字元函數的彙編版本,據說可以最佳化效能
--with-client-ldflags=-all-static 以純靜態方式編譯用戶端,如果伺服器執行個體上不需要用戶端,這項可以不要,不過建議還是留著,登入到資料庫伺服器上,直接mysql已經是預設習慣了。
--with-mysqld-ldflags=-all-static 以純靜態方式編譯服務端,據說對效能最佳化很有用
--disable-shared 不提供動態連結程式庫
--with-mysqld-user=mysql 啟動使用者佈建為mysql