CentOS 6.5 64 安裝多個mysql 服務 -阿里雲服務器ECS

LINUX操作系統:centOS6.4 64bit
數據庫一:
MYSQL版本:mysql-5.0.56
PORT:3306
系統目錄:/usr/local/mysql3306
數據庫二:
MYSQL版本:mysql-5.1.51
PORT:3307

系統目錄:/usr/local/mysql3307

一、查看系統中是否已安裝Mysql 

      ①查看已安裝的開發包:rpm -qa | grep -i mysql


       MySQL-server-5.6.17-1.el6.i686
       MySQL-client-5.6.17-1.el6.i686


      ②卸載mysql

[root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686

③刪除mysql服務

 [root@localhost local]# chkconfig --list | grep -i mysql
 [root@localhost local]# chkconfig --del mysql

④刪除分散mysql文件夾

[root@localhost local]# whereis mysql 或者 find / -name mysql 


mysql: /usr/lib/mysql /usr/share/mysql

清空相關mysql的所有目錄以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf

參照:http://blog.csdn.net/rosten/article/details/25096159

二.安裝開發包

         安裝 ncurses-devel:否則在./configure時回報checking for termcap functions library... configure: error: No curses/termcap library found錯誤

yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel

三.安裝mysql數據庫實例

      1.下載編譯包:

# su -
# mkdir ~/src
# cd src
# wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz --不好用
# wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gz

     2.安裝前的初始配置工作:

1).創建一個Mysql用戶

 groupadd mysq

         useradd -g mysql mysql

     2).新建mysql下data和log子目錄

mkdir /usr/local/mysql{3306,3307}   

 # mkdir /usr/local/mysql{3306,3307}/data          
   # mkdir /usr/local/mysql{3306,3307}/log

3).修改目錄的所屬者以及所屬組權限 

chmod +w /usr/local/mysql{3306,3307}                      ================之前安裝時沒有加總提示權限不夠不知道是不是這個的原因

 # chown -R mysql:mysql /usr/local/mysql{3306,3307}/data/
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/log/
# chmod 750 /usr/local/mysql{3306,3307}/data        ========== 安裝時沒有執行
# chmod 750 /usr/local/mysql{3306,3307}/log    ========= 安裝時沒有執行

4).創建mysql相關目錄並配置權限

# mkdir -p /usr/local/mysql{3306,3307}/etc
# chown -R mysql.mysql /usr/local/mysql{3306,3307}/etc
# mkdir -p /var/run/mysqld{3306,3307}
# chmod +w /var/run/mysql{3306,3307}
# chown -R mysql.mysql /var/run/mysqld{3306,3307}
# mkdir -p /var/lib/mysqld{3306,3307}
# chmod +w /var/lib/mysql{3306,3307}
# chown -R mysql.mysql /var/lib/mysqld{3306,3307}

3.解包編譯安裝 ===這裏臨時先安裝一個

編譯數據庫一:

# cd ~/src
# tar -zxvf mysql-5.0.56.tar.gz    
# cd mysql-5.0.56  
./configure --prefix=/usr/local/mysql3306 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3306/etc  --localstatedir=/usr/local/mysql3306/data --with-tcp-port=3306 -enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-extra-charsets=gbk -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap --with-unix-socket-path=/tmp/mysql3306.sock


解壓成功。

# make && make install

安裝成功後


進入/usr/local/mysql3306這個目錄,

看一下是不是已經安裝好了呢??
[root@localhost ~]#  cd /usr/local/mysql3306/
[root@localhost ~]#  ls
bin include info lib libexec man mysql-test share sql-bench
我們把/usr/local/mysql3306/share/mysql這個目錄下的my-medium.cnf,複製爲my.cnf到/etc目錄下。

編譯安裝完後將配置文件拷貝到想要配置的目錄:

cp /usr/local/mysql3306/share/mysql/my-medium.cnf /usr/local/mysql3306/etc/my.cnf

一般情況下my-medium.cnf 中的配置足夠使用。應爲在./configure時進行了配置所以在share生成的配置文件中已經做了簡單地配置

4.編寫mysql配置項:

# vim /usr/local/mysql3306/etc/my.cnf


[mysqld]
datadir=/usr/local/mysql3306/data
socket=/tmp/mysql3306.sock
user=mysql
port=3306
pid-file=/var/lib/mysqld3306/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3306/log/error.log
log=/usr/local/mysql3306/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3306/log/slowquery.log
log-bin= /usr/local/mysql3306/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
[mysqld_safe]
log-error=/var/log/mysqld3306.log
pid-file=/var/run/mysqld3306/mysqld.pid


5.將mysql的庫文件路徑加入系統的庫文件搜索路徑中

方法一:直接做軟鏈接
複製代碼 代碼如下:
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql

方法二:利用ldconfig導入系統庫
複製代碼 代碼如下:
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig

6.輸出mysql的頭文件到系統頭文件
複製代碼 代碼如下:
# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql

注: 此處只需將一個mysql實例的庫文件添加到系統庫,無需多次添加

7.進入相應實例的安裝路徑,初始化各自配置腳本

做了這些工作以後,還得創造CentOS mysql授權表, 否則數據庫也是啓動不了。mysql_install_db,這個命令的用途就是做這個的。

數據庫一配置:
# cd /usr/local/mysql3306
# bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data  =====

CentOS mysql安裝的命令都安裝到了/usr/local/mysql3306/bin這個目錄中。找一下mysql_install_db 存放在什麼位置,這個地方直接在bin文件夾裏面執行mysql_install_db會提示命令不可用返回到上一級就好使了。。

安裝成功後:


8.複製mysql啓動腳本到系統服務目錄,並更改腳本配置

CentOS mysql服務器啓動,應該是/usr/local/mysql3306/share/mysql目錄中的 mysql.server

mysql.server拷貝到mysqld3306中

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3306

數據庫一配置:

vim /etc/init.d/mysqld3006

搜索如下行,紅色標註的爲添加的參數

basedir=/usr/local/mysql3306
datadir=/usr/local/mysql3306/data
conf=/usr/local/mysql3306/etc/my.cnf

$bindir/mysqld_safe
--defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

9.系統啓動項相關配置

數據庫一配置:

# chkconfig --add mysqld3306  #添加開機啓動服務
# chkconfig --level 35 mysqld3306 on  #設置mysql啓動

10.啓動mysql

數據庫一啓動:

# service mysqld3306 start 

Starting MySQL SUCCESS!  OK成功!

11 添加mysql命令集到系統全局變量
注:如果系統之前未安裝mysql客戶端,可以將編譯好的mysql命令集導入系統全局變量
以後就可以直接使用mysql命令集,而不需要使用絕對路徑訪問.
複製代碼 代碼如下:
# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile
# source /etc/profile

12. 設置初始賬戶,並登陸後臺:
數據庫一:
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #設置超級管理員密碼
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #連接數據庫


連接成功!


接着配置另外一臺 mysql-5.1.51.tar.gz

編譯數據庫二:

# cd ~/src
# tar -zxvf mysql-5.1.71.tar.gz    
# cd mysql-5.1.71
./configure --prefix=/usr/local/mysql3307 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3307/etc  --localstatedir=/usr/local/mysql 3307/data --with-tcp-port=3307 -enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-extra-charsets=gbk -with-ext ra-charsets=all --with-plugins=csv,innobase,myisam,heap --with-unix-socket-path=/tmp/mysql3307.sock
# make && make install

數據庫二配置:

vim /usr/local/mysql3307/etc/my.cnf

7.進入相應實例的安裝路徑,初始化各自配置腳本

# cd /usr/local/mysql3307
# bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql3307/data

8.複製mysql啓動腳本到系統服務目錄,並更改腳本配置

CentOS mysql服務器啓動,應該是/usr/local/mysql3307/share/mysql目錄中的 mysql.server

把mysql.server拷貝到mysqld3307中

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307

數據庫一配置:

vim /etc/init.d/mysqld3007

搜索如下行,紅色標註的爲添加的參數

basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql3307etc/my.cnf

$bindir/mysqld_safe
--defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

9.系統啓動項相關配置

數據庫一配置:

# chkconfig --add mysqld3307  #添加開機啓動服務
# chkconfig --level 35 mysqld3307 on  #設置mysql啓動

10.啓動mysql

數據庫一啓動:

數據庫二:
# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #設置超級管理員密碼
# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #連接數據庫
注: 因爲加了mysql環境變量,以後系統後臺可以直接使用mysql命令登錄,這裏使用絕對路徑是爲了規範操作
# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456

# service mysqld3307 start 

Starting MySQL SUCCESS!  OK成功!


以上參考:http://www.jb51.net/article/48592.htm 對這個鏈接裏的部分內容作了下調整,可以在我本地上正常啓動。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章