共計 2779 個字符,預計需要花費 7 分鐘才能閱讀完成。
本篇內(nèi)容介紹了“Mysql for Linux 怎么用源碼安裝和配置”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
1. 安裝
– 假設已經(jīng)有 mysql-5.5.10.tar.gz 以及 cmake-2.8.4.tar.gz 兩個源碼壓縮文件
1) 先安裝 cmake(mysql5.5 以后是通過 cmake 來編譯的)
# tar -zxv -f cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure
# make
# make install
2)創(chuàng)建 mysql 安裝目錄及數(shù)據(jù)目錄
# mkdir -p /usr/local/mysql –mysql 安裝目錄
# mkdir -p /usr/local/mysql/data –mysql 數(shù)據(jù)目錄
3)創(chuàng)建 mysql 用戶及用戶組
# groupadd mysql
# useradd -r -g mysql mysql
4)安裝 mysql
# tar -zxv -f mysql-5.5.10.tar.gz
# cd mysql-5.5.10
# 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
– 注:
上述命令中參數(shù):
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql – 安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data – 數(shù)據(jù)庫存放目錄
-DDEFAULT_CHARSET=utf8 – 使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci – 校驗字符
-DEXTRA_CHARSETS=all – 安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1 – 允許從本地導入數(shù)據(jù)
# make
# make install
– 注:
重新編譯時,需要清除舊的對象文件和緩存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
2. 配置及管理
1) 設置目錄權(quán)限
# cd /usr/local/mysql
# chown -R root:mysql . // 把當前目錄中所有文件的所有者所有者設為 root,所屬組為 mysql
# chown -R mysql:mysql data
2)拷貝 mysql 參數(shù)文件
# cp support-files/my-medium.cnf /etc/my.cnf
3)初始化數(shù)據(jù)庫(創(chuàng)建系統(tǒng)數(shù)據(jù)庫)
# cd /usr/local/mysql
# scripts/mysql_install_db –user=mysql
4)設置環(huán)境變量
# vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
5)手動啟動和關閉 mysql
– 啟動 mysql
# cd /usr/local/mysql
# ./bin/mysqld_safe –user=mysql – 啟動 mysql,但不能用該命令停止 mysql, 啟動日志寫在此文件下:/usr/local/mysql/data/localhost.err
– 關閉 MySQL 服務
# mysqladmin -u root -p shutdown – 此時,mysql root 用戶還沒有設置密碼,所以為空。輸入密碼時,直接點回車鍵即可。
6)通過服務啟動和關閉 mysql(前提是,mysql 已添加至系統(tǒng)服務中)
# service mysql.server start
# service mysql.server stop
# service mysql.server restart
– 如運行上述命令時出現(xiàn):mysql.server 未識別的服務信息,則可能是 mysql 未添加至系統(tǒng)服務所導致,可通過如下方法添加。
# cp support-files/mysql.server /etc/init.d/mysql – 將 mysql.server 拷貝至系統(tǒng)服務目錄 /etc/init.d 中,并將其命名為 mysql
# chkconfig –add mysql
# chkconfig –list
– 將 mysql 服務設定為 3、5 等級自動啟動
# chkconfig –level 35 mysql on
– 將 mysql 服務設定為 2、3、4、5 等級自動啟動
# chkconfig mysql on
– 注:
有些系統(tǒng)中,mysql.server 在 /usr/local/mysql/share/mysql/ 目錄下,而非本文中的 /usr/local/mysql/support-files/ 目錄下。
7)修改 mysql 用戶 root 密碼以及開啟遠程連接授權(quán)
# mysql -u root mysql
mysql use mysql;
mysql desc user;
mysql GRANT ALL PRIVILEGES ON *.* TO root@ % IDENTIFIED BY root – 開啟用戶 root 遠程連接權(quán)限
or
mysql GRANT ALL PRIVILEGES ON *.* TO root @ % IDENTIFIED BY ****** WITH GRANT OPTION; – 如不能進行遠程連接,且報出錯誤 mysql error number 1130
mysql update user set Password = password(xxxxxx) where User= root – 更改用戶 root 密碼
mysql select Host,User,Password from user where User= root
mysql flush privileges;
mysql exit
– 注:
如果還不能進行遠程連接,可以關閉防火墻試試,命令如下。
# /etc/rc.d/init.d/iptables stop
“Mysql for Linux 怎么用源碼安裝和配置”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實用文章!