很長沒有寫點東西了,在工作的這些日子,得到了一些安裝Mysql的方法,此方法可以同時在一台Linux服務上安裝多個MySQL.
准備Mysql的源碼,版本號為MySQL-5.1.49.tar.gz,當然其它的也行,只做為測試.Linux用fedora12
安裝步驟:
1.解壓MySQL-5.1.49.tar.gz
命令: tar -zxvf MySQL-5.1.49.tar.gz
2.配置 MySQL
命令:./configure --prefix=/test/MySQL --with-charset=gbk –with-glupins=innobase
說明:安裝到/text/MySQL下,語言用gbk.當然用別的也行,還有其它參數可以查看相關文檔.
5以後的版本 據說沒有加innodb引擎 加上後不會包MySQL_install_db 錯誤(這裡做過測試 如果沒有加會報錯的哦)
3.編譯,安裝 make
make install
(如果你是第二次編譯 那麼請先運行make clean 清理第一次的運行然後再make) 4.創建用戶和組.
groupadd MySQL
useradd -g Mysql MySQL
5.進入Mysql目錄.創建var目錄.並把./share/Mysql/my-medium.cnf 拷到MySQL目錄下並改名為my.cnf.
>mkdir var
>mv share/MySQL/my-medium.cnf my.cnf
這個地方我想改變MySQL的數據目錄所以創建了一個data的目錄我在my.cnf裡面改了var為data 第一次告訴我從var讀取數據在/tmp下創建了一個緩存文件 是我要的 等我第二次運行的時候又運行默認配置文件了不知道是哪個地方的問題但是運行是沒有問題的
6.配置my.cnf 改動如下:
[clIEnt]
#password = your_passWord
port = 3306
socket = /tmp/MySQL3306.sock
# The MySQL Server
[MySQLd]
port = 3306
socket = /tmp/Mysql3306.sock innodb_data_home_dir = /test/MySQL/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /test/MySQL/var/
innodb_log_arch_dir = /test/MySQL/var/ 現在默認配置文件裡沒有這個東西所以我也沒有加
7.安裝數據庫
命令:./bin/Mysql_install_db --defaults-file=/test/Mysql/my.cnf --user=MySQL
說明:必須用參數--defaults-file指定my.cnf,否則系統用默認的/etc/my.cnf.
8.安裝完後,可以看到MySQL/var目錄下有數據文件,然後用下面命令設置權限:
shell> chown -R root .
shell> chown -R MySQL var
shell> chgrp -R MySQL .
9.啟動數據庫.
./bin/Mysqld_safe --defaults-file=/test/MySQL/my
.cnf --user=MySQL &
10.進入數據庫.
./bin/Mysql -u root --socket=/tmp/Mysql3306 --defaults-file=/test/MySQL/my.cnf
找不到數據目錄data 或者var
http://bugs.MySQL.com/bug.PHP?id=11046
這樣的時候 會出現my.cnf不能讀取 吧配置文件的權限改到mysql下 也不行網上搜索結果在mysql官網就有這麼一個就是前面加載配置的時候沒有設置–with-glupins=innobase 默認時沒有密碼,當然如果你刪除/etc/my.cnf,可以不要後面的--defaults-file=/test/MySQL/my.cnf
./bin/Mysql -u root --socket=/tmp/MySQL3306 也就行了,原因大家應該知道吧!^_^!
11.設為服務並自啟動.(這個就沒有啥說的 懂點Linux命令的基本都會了)
對於設置為服務只要把Mysql/share/Mysql/Mysql.server放到/etc/init.d/下改名為Mysql mv share/Mysql/Mysql.server /etc/init.d/MySQL
chmod 775 /etc/init.d/MySQL
chkconfig --add MySQL
總結,這只是安裝了一個3306端口的MySQL,如果要在裝一個msyql,步驟一樣,只要改動my.cnf文件的內容.
[clIEnt]
#password = your_passWord
port = 3310
socket = /tmp/MySQL3310.sock
# The MySQL Server
[MySQLd]
port = 3310
socket = /tmp/MySQL3310.sock