Linux下mysqlソースコードインストール
5290 ワード
1.mysql 5のため、インストールパッケージを装備してインストールする.5以降はcmakeでコンパイル
cmakeをダウンロード
http://www.cmake.org/download/
mysqlをダウンロード
http://dev.mysql.com/downloads/mysql/
(1)cmake取付
(2)mysqlのインストールディレクトリおよびデータベース格納ディレクトリの作成
(3)mysqlユーザおよびユーザグループの作成
(4)mysqlのインストール
---プロンプトエラー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/
---プロンプトエラー02----
Warning: Bison executable not found in PATH
Bisonはインストールされていません
ダウンロード:http://ftp.gnu.org/gnu/bison/
完了してから再び(4)の手順に進みます
------------
2.構成
(1)ディレクトリ権限の設定
(2)プロファイルの追加
(3)システムデータベースを作成するテーブル
[Warning]TIMESTAMP with implicit DEFAULT value is deprecated.
Please use --explicit_defaults_for_timestamp server option
(see documentation for more details).エラー
(4)環境変数の設定
PATH=$PATH:$HOME/binに次のパラメータを追加します.
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
(5)mysqlを手動で起動する
起動ログはこのファイルの下に書きます:/data/mysql/data/hostname.err
MySQLサービスを閉じる
(6)設定コマンド起動と起動
(7)rootパスワードを変更してリモート接続を開く
再ログイン:mysql-u root-p
リモート接続ができない場合は、ファイアウォールを閉じます.
注意:リモート接続ができず、エラーmysql error number 1130が発生した場合は、次の文を追加してみます.
MYSQL権限詳細分類:
グローバル管理権限:
FILE:MySQLサーバでファイルを読み書きします.
PROCESS:他のユーザーに属するサービススレッドを表示または殺します.
RELOAD:アクセス制御テーブルの再ロード、ログの更新など.
SHUTDOWN:MySQLサービスをオフにします.
データベース/データテーブル/データ列権限:
ALTER:既存のデータテーブル(カラムの追加/削除など)とインデックスを変更します.
CREATE:新しいデータベースまたはデータテーブルを作成します.
DELETE:テーブルのレコードを削除します.
DROP:データテーブルまたはデータベースを削除します.
INDEX:インデックスを作成または削除します.
INSERT:テーブルのレコードを追加します.
SELECT:テーブルのレコードを表示/検索します.
UPDATE:テーブルに既に存在するレコードを変更します.
特別な権限:
ALL:何でもできる(rootと同じ).
USAGE:ログインのみ許可--他には何も許可されていません.
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:ログインのみ許可--他には何も許可されていません.