mysql多例項安裝詳解

2021-09-08 17:06:17 字數 3157 閱讀 7626

首先說明乙個場景:我的電腦是

ubuntu系統

,之前apt-get自動安裝過mysql。這也是出現錯誤最多的原因之一。 

安裝過程,其中充斥著各種錯誤: 

6.mkdir mysql  

7.groupadd mysql  

8.useradd -r -g mysql mysql  

# make clean  

# rm -f cmakecache.txt  

# rm -rf /etc/my.cnf  

9.cmake . -dcmake_install_prefix=/usr/local/mysql  

-dmysql_datadir=/usr/local/mysql/data -ddefault_charset=utf8  

-ddefault_collation=utf8_general_ci -dextra_charsets=all  

-denabled_local_infile=1

make  

make install  

這個表示mysql原始碼安裝已經完成了,現在要做就是初始化使用者了,也就是多例項中最重要的一部了,以後的每一步都要注意命令執行後的結果: 

cd /usr/local/mysql  

chown -r root:mysql .  

chown -r mysql:mysql data  

11.cp support-files/my-medium.cnf /etc/my.cnf  

12.cd /usr/local/mysql  

scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3308/my.cnf --datadir=/usr/local/mysql/data_3308/  

上面的mysql_install_db這個命令就是來進行初始化新使用者。這裡要注意命令執行後的結果,

第一次的時候我的執行結果是這樣的:  

root@zhou:/usr/local/mysql# scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3307/my.cnf --datadir=/usr/local/mysql/data_3307/  

installing mysql system tables...  

130107

10:25:47 [error] collation 'latin1_swedish_ci' is not valid for character set 'utf8'

130107

10:25:47 [error] aborting  

130107

10:25:47 [note] /usr/local/mysql/bin/mysqld: shutdown complete  

這裡可以看出已經出現了錯誤,原因是什麼,大家應該可以看明白了,自己太馬虎了。導致自己重新執行了一次cmake 

然後重新進行上面的命令了。直到我們看到這樣的結果:表示初始化成功了,恭喜你下面可以進行下面的操作了。 

root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/  

installing mysql system tables...  

ok  

filling help tables...  

ok  

這時他會在我們的data目錄中生成一些mysql庫啊和test庫等這些基本資訊。 

mysqld_safe --defaults-file=/usr/local/mysql/data_3307/my.cnf &  

130107

13:35:36 [note] server socket created on ip: '0.0.0.0'.  

130107

13:35:36 [error] /usr/local/mysql/bin/mysqld: can't find file: './mysql/host.frm' (errno: 13)  

130107

13:35:36 [error] fatal error: can't open and lock privilege tables: can't find file: './mysql/host.frm' (errno: 13)  

130107

13:35:36 mysqld_safe mysqld from pid file /usr/local/mysql/data3307/mysql.pid ended  

這裡的錯誤也是很明顯的原因就是我們沒有讀取host。frm的許可權了,補救的辦法又兩種:一種是直接到目錄下給mysql附上這樣的許可權,第二種就是追究它原因為什麼會那樣呢?原因是我們在初始化的時候,沒有加入--user=mysql這個引數才導致生成的檔案全市root許可權。 

在下次做時,就需要這樣的命令了: 

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確出現錯誤了, 

root@zhou:/usr/local/mysql/tmp# mysql  

error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock' (111)  

錯誤原因:當在沒有指定那個資料庫伺服器是它是有個預設啟動計畫,所以這裡可以看出它還是在等待mysql 3306的那個伺服器的。 

root@zhou:/etc/init.d# mysql -h127.0.0.1 -p3307  

mysql安裝 例項 mysql安裝多例項

多例項管理 3.5.1準備多個目錄 mkdir p data 330 data 3.5.2 準備配置檔案 cat data 3307 my.cnf mysqld basedir softmysql mysql datadir data 3307 data socket data 3307 mysql...

mysql多例項命令 mysql多例項安裝

1 編輯my.cnf檔案增加相關引數如下 mysqld multi user root pass 123 mysqld usr local mysql bin mysqld safe mysqladmin usr local mysql bin mysqladmin log usr local my...

Mysql多例項安裝

1.mysql編譯安裝完成後,繼續實現mysql的多例項安裝.2.建立多例項目錄 mkdir p data data 3.然後修改配置檔案,對應不同埠 cp usr local mysql support files my small.cnf data 3306 my.cnf cp usr loca...