linuxコンパイルインストールmysql
7339 ワード
[TOC]
宣言
1取付方式専用パッケージ rpm : RedHat,CentOS,Oracle Linux,SUSE deb exe msi
汎用バイナリフォーマットパッケージ gcc icc
ソースコードコンパイル cmake
ここでは、ソースコードのコンパイルインストールについて説明します.
2コンパイルインストール
2.1環境準備コンパイル環境 その他オプションの準備
2.2 cmakeに関する一点の説明 cmakeとmakeは少し違います item
make
cmake
./configure
cmake .
ヘルプの表示
./configure —help
cmake . -LHまたはccmake.
前回コンパイルしたテンポラリ・ファイルのクリーンアップ
make clean
rm CMakeCache.txt
2.3関連コンパイルオプション
完全なコンパイル構成オプションは以下を参照してください.https://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.htmlインストール時のパスに関する構成 ストレージエンジンに関する構成 その他の構成項目
2.4コンパイルインストール注意:複数回のコンパイルが成功しなければ、構成を変更した後、 をクリーンアップすることを覚えておいてください.
3構成と初期化
3.1初期化
このバージョンのMySQLでは上で生成された一時的なランダムなrootユーザパスワードに注意:R 3 umte 7,NbJ, 初期化後、あなたが指定したデータディレクトリにはMySQL独自のテーブル構造などのファイル が生成されたに違いありません.
3.2プロファイル
プロファイルの説明について
周知のように、MySQLの重要なプロファイルは
このファイルは複数存在できますが、MySQL起動時の検索パスは次のとおりです. unix/linux /etc/my.cnf /etc/mysql/my.cnf ${MYSQL_HOME}/my.cnf defaults-extra-file ~/my.cnf
windows %WINDIR%\my.ini,%WINDIR%\my.cnf C:\my.ini,C:\my.cnf %install-dir%\my.ini,%install-dir%\my.cnf#インストールパス defaults-extra-file
プロファイルの検索順序の説明最初の場所でプロファイルが見つかった場合でも、後続のパスでの検索は に続きます.複数のプロファイルが見つかった場合、すべてのプロファイルの構成が有効になります. 複数のファイルで同じ構成が見つかった場合、最後の構成 が使用されます.
プロファイルのコピー
3.3 MySQLをシステムサービスにする
3.4 MySQLを環境変数に追加する
4 MySQLの起動このステップでは多くの問題が発生する可能性がありますので、権限が正常であることを確認してください. chown -R mysql:mysql/data/mysql/ chown -R mysql:mysql/usr/local/mysql chown -R mysql:mysql/usr/share/mysql/
システムサービス作成後に直接起動すれば . rootログイン
テスト
参考資料マゴ教育
宣言
Linux :centos-6.8-x64
MySQL : mysql-5.7.10
1取付方式
ここでは、ソースコードのコンパイルインストールについて説明します.
2コンパイルインストール
2.1環境準備
$ yum install cmake
$ yum install –y openssl openssl-devel ncurses ncurses-devel boost-devel
# ,
rpm -qa | grep mysql # MySQL
rpm -e --nodeps mysql-server
rpm -e --nodeps mysql
# ( )
groupadd -r mysql
useradd -r -g mysql -d /data/mysql -s /sbin/nologin mysql
# ( MySQL /data/mysql, , )
mkdir /data/mysql
chown -R mysql:mysql /data/mysql
2.2 cmakeに関する一点の説明
make
cmake
./configure
cmake .
ヘルプの表示
./configure —help
cmake . -LHまたはccmake.
前回コンパイルしたテンポラリ・ファイルのクリーンアップ
make clean
rm CMakeCache.txt
2.3関連コンパイルオプション
完全なコンパイル構成オプションは以下を参照してください.https://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #
-DMYSQL_DATADIR=/data/mysql # MySQL
-DSYSCONFDIR=/etc # MySQL
# , :
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDEFATED_STORAGE_ENGINE=1
# , :
-DWITHOUT__ENGINE=1
#
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLED_PROFILING=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
2.4コンパイルインストール
rm CMakeCache.txt
で一時ファイル#
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
tar -xvf mysql-5.7.10.tar.gz
cd mysql-5.7.10
#
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DENABLE_DOWNLOADS=1 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=/usr/local/boost
# -DDOWNLOAD_BOOST=1 \ boost-devel
make # 20 30
make install
#
chown -R mysql:mysql /usr/local/mysql/
3構成と初期化
3.1初期化
このバージョンのMySQLでは
./bin/mysql_install_db --user=mysql --datadir=/data/mysql
を使用して初期化が廃棄されています.mysqld --initialize
を使用して初期化する必要があります.#
[root@h4 mysql]$ chown -R mysql:mysql /usr/local/mysql/
#
[root@h4 mysql]$ cd /usr/local/mysql/
[root@h4 mysql]$ ./bin/mysqld --initialize
2017-04-03T14:15:54.947341Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-04-03T14:15:55.158809Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-04-03T14:15:55.183175Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-04-03T14:15:55.237637Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0d0fe1f9-1878-11e7-b68d-000c29b59375.
2017-04-03T14:15:55.239385Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-04-03T14:15:55.413459Z 0 [Warning] CA certificate ca.pem is self signed.
2017-04-03T14:15:55.452077Z 1 [Note] A temporary password is generated for root@localhost: R3umte7,NbJ,
3.2プロファイル
プロファイルの説明について
周知のように、MySQLの重要なプロファイルは
my.cnf
です.このファイルは複数存在できますが、MySQL起動時の検索パスは次のとおりです.
プロファイルの検索順序の説明
プロファイルのコピー
cp support-files/my-default.cnf /etc/my.cnf
# --
# mysql
# /etc/my.cnf
[mysqld]
basedir =/usr/local/mysql
datadir =/data/mysql
port =3306
3.3 MySQLをシステムサービスにする
# support-files MySQL
[root@h4 mysql]$ cp support-files/mysql.server /etc/init.d/mysqld
[root@h4 mysql]$ chkconfig --add mysqld
[root@h4 mysql]$ chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.4 MySQLを環境変数に追加する
# /etc/profile.d/mysql.sh
vim /etc/profile.d/mysql.sh
#
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
#
source /etc/profile.d/mysql.sh
4 MySQLの起動
service mysqld start
#
[root@h4 mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.10
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#
mysql> set password=password(' ');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
テスト
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host from user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| mysql.sys | localhost |
| root | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)
mysql>
参考資料