首先說明乙個場景:我的電腦是
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...