CnetOS 下編譯安裝 MySQL
CnetOS 下編譯安裝 MySQL
查看是否存在舊版本:
rpm -qa | grep mysql
卸載舊版本:
rpm -e mysql #普通刪除模式
rpm -e --nodeps mysql #強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除
安裝編譯代碼需要的包
yum -y install make
yum –y install gcc-c++
yum –y install cmake
yum –y install bison-devel
yum –y install ncurses-devel
解壓源碼:
tar –zxvf mysql-5.5.20.tar.gz
cd mysql-5.5.20
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 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
加粗部分為必須
參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data //資料庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字元
-DDEFAULT_COLLATION=utf8_general_ci //校正字元
-DEXTRA_CHARSETS=all //安裝所有擴充字元集
-DENABLED_LOCAL_INFILE=1 //允許從本地匯入資料
注意事項:
重新編譯時間,需要清除舊的對象檔案和緩衝資訊。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
查看編譯是否正確完成
echo $? #返回0表示正確完成
編譯並安裝
make && make install
echo $? #查看是否成功安裝.
配置mysql
使用下面的命令查看是否有mysql使用者及使用者組
cat /etc/passwd 查看使用者列表
cat /etc/group 查看使用者組列表
如果沒有就建立
groupadd mysql
useradd -g mysql mysql
配置目錄許可權
cd /usr/local/lamp/mysql/
chown -R root:mysql . #把目前的目錄中所有檔案的所有者所有者設為root,所屬組為mysql
chown -R mysql:mysql data
將mysql的啟動服務添加到系統服務中
cp support-files/my-medium.cnf /etc/my.cnf
建立系統資料庫的表
cd /usr/local/lamp/mysql
scripts/mysql_install_db
設定環境變數
vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加參數為:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile 生效檔案
啟動MySQL
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
service mysqld start --啟動MySQL
修改MySQL的root使用者的密碼以及開啟遠端連線
mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //為root添加遠端連線的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登入:
mysql -u root –p
若還不能進行遠端連線,則關閉防火牆
/etc/rc.d/init.d/iptables stop
新增使用者後,出現新使用者無法登陸的情況時候,登陸資料庫,刪除空使用者就可以登陸。
delete from user where user is null;
delete from user where user='';
FLUSH PRIVILEGES;
CentOS 6.4下編譯安裝MySQL 5.6.14
本文永久更新連結地址: