Linux下mysqlソースコードインストール


1.mysql 5のため、インストールパッケージを装備してインストールする.5以降はcmakeでコンパイル
cmakeをダウンロード
http://www.cmake.org/download/
mysqlをダウンロード
http://dev.mysql.com/downloads/mysql/
(1)cmake取付
#tar -zxvf cmake-3.3.0-rc2
#cd cmake-3.3.0-rc2
#./configure
#make
#make install

(2)mysqlのインストールディレクトリおよびデータベース格納ディレクトリの作成
#madir -p /usr/local/mysql   #mysql    
#mkdir -p /data/mysql/data   #         

(3)mysqlユーザおよびユーザグループの作成
#groupadd mysql  #  mysql   
#useradd -r -g mysql mysql #      mysql   mysql   

(4)mysqlのインストール
#tar -zxvf mysql-5.6.25.tar.gz
# cd mysql-5.6.25
#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #    
-DMYSQL_DATADIR=/data/mysql/data   \   #        
-DSYSCONFDIR=/etc         \     #my.cnf  
-DWITH_MYISAM_STORAGE_ENGINE=1    \         #  MyIASM  
-DWITH_INNOBASE_STORAGE_ENGINE=1 \       #  InnoDB  
-DWITH_MEMORY_STORAGE_ENGINE=1 \          #  Memory  
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      \   #     socket  
-DMYSQL_TCP_PORT=3306                  \    #  
-DENABLED_LOCAL_INFILE=1            \       #         
-DWITH_PARTITION_STORAGE_ENGINE=1  \   #         
-DEXTRA_CHARSETS=all                  \     #        
-DDEFAULT_CHARSET=utf8              \       #    
-DDEFAULT_COLLATION=utf8_general_ci     #    
#make
#make install

---プロンプトエラー01----
Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
CMake Error at cmake/readline.cmake:85 (MESSAGE):
  Curses library not found.  Please install appropriate package,
      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:128 (FIND_CURSES)
  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  CMakeLists.txt:409 (MYSQL_CHECK_EDITLINE)
ncursesがインストールされていません
ダウンロードhttp://ftp.gnu.org/pub/gnu/ncurses/
#tar zxvf ncurses-5.9.tar.gz
# cd ncurses-5.9
# ./configure
# make
# make install

---プロンプトエラー02----
Warning: Bison executable not found in PATH
Bisonはインストールされていません
ダウンロード:http://ftp.gnu.org/gnu/bison/
# tar -zxvf bison-3.0.tar.gz
# cd bison-3.0
# ./configure
# make
# make install

完了してから再び(4)の手順に進みます
------------
2.構成
(1)ディレクトリ権限の設定
# cd /usr/local/mysql/
# chown -R root:mysql .
# chown -R mysql:mysql /data/mysql/data

(2)プロファイルの追加
# cp support-files/my-default.cnf /etc/my.cnf # mysql             

(3)システムデータベースを作成するテーブル
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data/

[Warning]TIMESTAMP with implicit DEFAULT value is deprecated. 
Please use --explicit_defaults_for_timestamp server option 
(see documentation for more details).エラー
# vim /etc/my.cnf    [mysqld]   ,      :
explicit_defaults_for_timestamp=true #      

(4)環境変数の設定
# vi /root/.bash_profile

PATH=$PATH:$HOME/binに次のパラメータを追加します.
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile

(5)mysqlを手動で起動する
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql &   #  MySQL,     
#ps -ef | grep mysql #  MySQL    
#netstat -tnl | grep 3306#        

起動ログはこのファイルの下に書きます:/data/mysql/data/hostname.err
MySQLサービスを閉じる
#./bin/mysqladmin -u root -p shutdown #  

(6)設定コマンド起動と起動
# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql # mysql             ,       mysql
# service mysql start #  
# service mysql stop  #  
# service mysql restart #  
# chkconfig --add mysql   #      
# chkconfig mysql off    #      

(7)rootパスワードを変更してリモート接続を開く
#mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '  ';  # root         。
mysql>update user set Password = password('  ') 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

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

MYSQL権限詳細分類:
グローバル管理権限:
FILE:MySQLサーバでファイルを読み書きします. 
PROCESS:他のユーザーに属するサービススレッドを表示または殺します. 
RELOAD:アクセス制御テーブルの再ロード、ログの更新など. 
SHUTDOWN:MySQLサービスをオフにします.
データベース/データテーブル/データ列権限:
ALTER:既存のデータテーブル(カラムの追加/削除など)とインデックスを変更します. 
CREATE:新しいデータベースまたはデータテーブルを作成します. 
DELETE:テーブルのレコードを削除します. 
DROP:データテーブルまたはデータベースを削除します. 
INDEX:インデックスを作成または削除します. 
INSERT:テーブルのレコードを追加します. 
SELECT:テーブルのレコードを表示/検索します. 
UPDATE:テーブルに既に存在するレコードを変更します.
特別な権限:
ALL:何でもできる(rootと同じ). 
USAGE:ログインのみ許可--他には何も許可されていません.