程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql多實例安裝詳解

mysql多實例安裝詳解

編輯:MySQL綜合教程

ubuntu系統

安裝過程,其中充斥著各種錯誤: 
  1. 6.mkdir mysql  
  2. 7.groupadd mysql  
  3. 8.useradd -r -g mysql mysql  
  4. # make clean  
  5. # rm -f CMakeCache.txt  
  6. # rm -rf /etc/my.cnf  
  7. 9.cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  
  8. -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8  
  9. -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all  
  10. -DENABLED_LOCAL_INFILE=1  
  11. make  
  12. make install  
這個表示mysql源碼安裝已經完成了,現在要做就是初始化用戶了,也就是多實例中最重要的一部了,以後的每一步都要注意命令執行後的結果: 
  1. cd /usr/local/mysql  
  2. chown -R root:mysql .  
  3. chown -R mysql:mysql data  
  4. 11.cp support-files/my-medium.cnf /etc/my.cnf  
  5. 12.cd /usr/local/mysql  
  1. scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3308/my.cnf --datadir=/usr/local/mysql/data_3308/  
上面的mysql_install_db這個命令就是來進行初始化新用戶。這裡要注意命令執行後的結果,
  1. 第一次的時候我的執行結果是這樣的:  
  2. root@zhou:/usr/local/mysql# scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3307/my.cnf --datadir=/usr/local/mysql/data_3307/  
  3. Installing MySQL system tables...  
  4. 130107 10:25:47 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'  
  5. 130107 10:25:47 [ERROR] Aborting  
  6. 130107 10:25:47 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete  
這裡可以看出已經出現了錯誤,原因是什麼,大家應該可以看明白了,自己太馬虎了。導致自己重新執行了一次cmake 
然後重新進行上面的命令了。直到我們看到這樣的結果:表示初始化成功了,恭喜你下面可以進行下面的操作了。 
  1. root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/  
  2. Installing MySQL system tables...  
  3. OK  
  4. Filling help tables...  
  5. OK  
這時他會在我們的data目錄中生成一些mysql庫啊和test庫等這些基本信息。 
對了要注意了,權限的分配,一不小心mysql的就無法讀取相關文件的權利。 
  1. mysqld_safe --defaults-file=/usr/local/mysql/data_3307/my.cnf &  
  2. 130107 13:35:36 [Note] Server socket created on IP: '0.0.0.0'.  
  3. 130107 13:35:36 [ERROR] /usr/local/mysql/bin/mysqld: Can't find ��的原因就是我們沒有讀取host。frm的權限了,補救的辦法又兩種:一種是直接到目錄下給mysql附上這樣的權限,第二種就是追究它原因為什麼會那樣呢?原因是我們在初始化的時候,沒有加入--user=mysql這個參數才導致生成的文件全市root權限。 
    在下次做時,就需要這樣的命令了: 
    1. root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/ --user=mysql  
    ok,這時我們可以nbsp;file /usr/local/mysql/data3307/mysql.pid ended  
這裡的錯誤也是很明顯的原因就是我們沒有讀取host。frm的權限了,補救的辦法又兩種:一種是直接到目錄下給mysql附上這樣的權限,第二種就是追究它原因為什麼會那樣呢?原因是我們在初始化的時候,沒有加入--user=mysql這個參數才導致生成的文件全市root權限。 
在下次做時,就需要這樣的命令了: 
  1. root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/ --user=mysql  
ok,這時我們可以通過命令來查看一下我們開通的服務個數,然後登錄上去進行基本的操作,權限,鍵表啊,replication啊等等。 

這裡啟動了三個mysql服務器後,發現只能登錄到3306上面的服務去,而其他的就是沒法登錄,當我把3307 3306殺掉後,登錄mysql確出現錯誤了, 
  1. root@zhou:/usr/local/mysql/tmp# mysql  
  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)  
錯誤原因:當在沒有指定那個數據庫服務器是它是有個默認啟動計劃,所以這裡可以看出它還是在等待mysql 3306的那個服務器的。 
  1. root@zhou:/etc/init.d# mysql -h127.0.0.1 -P3307  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved