LINUXの下で最新バージョンmysqlをコンパイルしてインストールします

6909 ワード

他の記事を参考にして
1.インストールmysql-5.5.30をダウンロードする.tar.gzとcmake.2.8.11.2.tar.gz
(1)cmakeをインストール(mysql 5.5以降はcmakeでコンパイル)
[root@ rhel5 local]#tar -zxv -f cmake-2.8.11.2.tar.gz[root@ rhel5 local]#cd cmake-2.8.11.2[root@ rhel5 cmake-2.8.4]#./configure[root@ rhel5 cmake-2.8.4]#make[root@ rhel5 cmake-2.8.4]#make install

configure cmake中にCannot find appropriate C++compiler on this systemというエラーメッセージが表示される可能性があります.このエラーメッセージは、c++コンパイラが欠けていることを示しているので、yum-y install gcc-c++をインストールします.
(2)mysqlのインストールディレクトリおよびデータベース格納ディレクトリの作成
[root@ rhel5~]#mkdir -p /usr/local/mysql                 //  mysql [root@ rhel5~]#mkdir -p /usr/local/mysql/data            //     

(3)mysqlユーザおよびユーザグループの作成
[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd -r -g mysql mysql

(4)mysqlのインストール
[root@ rhel5 local]#tar -zxv -f mysql-5.5.30.tar.gz[root@ rhel5 local]#cd mysql-5.5.30[root@ rhel5 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
[root@ rhel5 mysql-5.5.10]#make[root@ rhel5 mysql-5.5.10]#make install

パラメータの説明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql//インストールディレクトリ
-DINSTALL_DATADIR=/usr/local/mysql/data//データベース格納ディレクトリ
-DDEFAULT_CHARSET=utf 8//utf 8文字を使用
-DDEFAULT_COLLATION=utf8_general_ci//チェック文字
-DEXTRA_CHARSETS=all//すべての拡張文字セットをインストール
-DENABLED_LOCAL_INFILE=1//ローカルからのデータのインポートを許可
 
注意事項:
再コンパイルする場合は、古いオブジェクトファイルとキャッシュ情報を消去する必要があります.
# make clean
# rm -f CMakeCache.txt
# rm -rf/etc/my.cnf
2.構成
(1)ディレクトリ権限の設定
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# chown -R root:mysql . //                   root,    mysql
[root@ rhel5 mysql]# chown -R mysql:mysql data

(2)
[root@ rhel5 mysql]# cp support-files/my-medium.cnf /etc/my.cnf // mysql             

(3)システムデータベースを作成するテーブル
[root@ rhel5 mysql]# cd /usr/local/mysql[root@ rhel5 mysql]# scripts/mysql_install_db --user=mysql //      ,        ,            

(4)環境変数の設定
[root@ rhel5~]# vi /root/.bash_profile
 PATH=$PATH:$HOME/bin     :

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

[root@ rhel5~]#source /root/.bash_profile

(5)mysqlを手動で起動する
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# ./bin/mysqld_safe --user=mysql &   //  MySQL,     
          :/usr/local/mysql/data/localhost.err (     mysql            ,      )

  MySQL  

[root@ rhel5 mysql]# mysqladmin -u root -p shutdown  //  MySQL root         ,     。       ,        。

(6)mysqlを簡単に起動する方法(mysqlがシステムサービスに追加された)
[root@ rhel5~]# service mysql.server start  [root@ rhel5~]# service mysql.server stop[root@ rhel5~]# service mysql.server restart

上記のコマンドが表示する場合:mysql.サーバが認識していないサービス
mysqlはまだシステムサービスに追加されていない可能性があります.次の方法で追加します.
[root@ rhel5 mysql]# cp support-files/mysql.server  /etc/init.d/mysql // mysql             

注意:主にmysql.サーバを/etc/initにコピーします.dではmysqlと名前を付けます.あるシステムではmysql.serverは/usr/local/mysql/share/mysql/mysql.serverでは、本システムではmysql.serverは/usr/local/mysql/support-files/mysql.serverで.
次に#service mysql startでmysqlを起動すればいいです.
(7)MySQLのrootユーザーのパスワードを変更し、リモート接続を開く
[root@ rhel5~]# 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

          ,      
[root@ rhel5~]# /etc/rc.d/init.d/iptables stop

注意:リモート接続ができず、エラーmysql error number 1130が発生した場合は、次の文を追加してみます.
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;