ソースコードコンパイルmariadb-10.0.12データベースのインストール
ソースコードインストールmariadb-10.0.12
1.ソースパッケージの取得
mariadb-10.0.12.tar.gz
2.コンパイル環境準備
3.mysqlユーザーの作成
4.コンパイルインストールmariadb-10.0.12
ソースパッケージの解凍:
# tar xf mariadb-10.0.12.tar.gz
cmakeコンパイル命令の紹介:
インストールファイルのインストールパスを指定するときによく使用するオプション:
デフォルトでコンパイルされたストレージエンジンには、csv、myisam、myisammrg、heapが含まれます.他のストレージエンジンをインストールするには、次のようなコンパイルオプションを使用します.
ストレージエンジンをコンパイルしないことを明確に指定するには、次のようなオプションを使用します.
SSLなどの他の機能をコンパイルする場合は、コンパイル時にライブラリを使用するか、ライブラリを使用しないかのいずれかのオプションを使用します.
その他の一般的なオプション:
以前のコンパイルで生成されたファイルをクリーンアップするには、次のコマンドを使用します.
コンパイルインストールMariaDB:
または、
または、
#./BUILD/compile-pentium64-max
コンパイルが完了したら、データベースをインストールします.
コメント:
注意事項:
5.MariaDBのインストールの構成
6.mariadbプロファイルの作成と変更、テンプレート付き
サービススクリプトの作成:
mysqldサービスの起動、テストの起動
7.環境変数の設定:
環境変数をロード:
# source/etc/profile.d/mysqld.sh
MySQLへの接続
8.Mysqlのrootユーザーパスワードを変更し、リモート接続を開く
9.MariaDBが提供するセキュリティ設定スクリプトを使用して、データベースのセキュリティ構成を行います.
MariaDBはいくつかの構成スクリプトを提供しています.
mysqlを使いますsecure_インストールこのスクリプトは、セキュリティ構成を行います.
10.セキュリティ設定データベースが完了するとmysqlを使用してデータベースにログインできません.しかし、通常、mysql-u root-pを使用するのは面倒で、便利にするために、ユーザーホームディレクトリにmysqlのユーザー名とパスワードを持つユーザーを作成することができます.my.cnfはプロファイルを非表示にしてデータベースにログインする.
パスワードを設定してmysqlコマンドを使用するとログインが禁止されます.
rootホームディレクトリに隠しファイルを作成するには、次の手順に従います.
これによりmysqlがユーザー名パスワードを入力せずにデータベースに直接ログインすることができ、操作が便利になります.
これで、ソースコードコンパイルインストールMariaDBデータベースが完了します.
1.ソースパッケージの取得
mariadb-10.0.12.tar.gz
2.コンパイル環境準備
# yum groupinstall -y Development Tools
# yum install -y ncurses-devel openssl-devel openssl
3.mysqlユーザーの作成
# groupadd mysql
# useradd -s /sbin/nologin -g mysql -M mysql
# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
# ;
# mkdir /mydata/data -pv
# chown mysql:mysql /mydata/data/ -R
4.コンパイルインストールmariadb-10.0.12
ソースパッケージの解凍:
# tar xf mariadb-10.0.12.tar.gz
cmakeコンパイル命令の紹介:
インストールファイルのインストールパスを指定するときによく使用するオプション:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/mydata/data
-DSYSCONFDIR=/etc
デフォルトでコンパイルされたストレージエンジンには、csv、myisam、myisammrg、heapが含まれます.他のストレージエンジンをインストールするには、次のようなコンパイルオプションを使用します.
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
ストレージエンジンをコンパイルしないことを明確に指定するには、次のようなオプションを使用します.
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
SSLなどの他の機能をコンパイルする場合は、コンパイル時にライブラリを使用するか、ライブラリを使用しないかのいずれかのオプションを使用します.
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
その他の一般的なオプション:
-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
-DENABLE_PROFILING=1
以前のコンパイルで生成されたファイルをクリーンアップするには、次のコマンドを使用します.
#make clean
#rm CMakeCache.txt
コンパイルインストールMariaDB:
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
または、
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
または、
#./BUILD/compile-pentium64-max
コンパイルが完了したら、データベースをインストールします.
# make
# make install
コメント:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //
-DINSTALL_DATADIR=/mydata/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
:Curses library not found. Please install appropriate package,
:
ncurses-devel
yum install ncurses-devel
CMakeCache.txt
rm CMakeCache.txt
cmake ...
。
5.MariaDBのインストールの構成
# cd /usr/local/mysql/
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# ls /mydata/data/
aria_log.00000001 ib_logfile0 mysql-bin.000001 mysql-bin.state
aria_log_control ib_logfile1 mysql-bin.000002 performance_schema
ibdata1 mysql mysql-bin.index test
6.mariadbプロファイルの作成と変更、テンプレート付き
# mkdir /etc/mysql
# cp support-files/my-large.cnf /etc/mysql/my.cnf
# vim /etc/mysql/my.cnf
[mysqld]
port = 3306
datadir = /mydata/data
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
innodb_file_per_table = on
skip_name_resolve = on
サービススクリプトの作成:
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --list mysqld
# chkconfig --add mysqld
mysqldサービスの起動、テストの起動
# service mysqld start
Starting MySQL. [ OK ]
7.環境変数の設定:
]# vim /etc/profile.d/mysqld.sh
MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
環境変数をロード:
# source/etc/profile.d/mysqld.sh
MySQLへの接続
# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.0.12-MariaDB-log Source distribution
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> quit
Bye
8.Mysqlのrootユーザーパスワードを変更し、リモート接続を開く
[root@tom2 mysql]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.0.12-MariaDB-log Source distribution
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# localhost , ;
MariaDB [(none)]> grant all privileges on *.* to root@'localhost' identified by 'oracle';
Query OK, 0 rows affected (0.00 sec)
# ip 127.0.0.1 , ;
MariaDB [(none)]> grant all privileges on *.* to root@'127.0.0.1' identified by 'oracle';
Query OK, 0 rows affected (0.00 sec)
# mysql;
MariaDB [(none)]> use mysql
Database changed
# root ;
MariaDB [mysql]> update user set password = password('oracle') where User='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 4 Changed: 2 Warnings: 0
# root ;
MariaDB [mysql]> select Host,User,Password from user where User='root';
+----------------+------+-------------------------------------------+
| Host | User | Password |
+----------------+------+-------------------------------------------+
| localhost | root | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| tom2.stu31.com | root | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| 127.0.0.1 | root | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| ::1 | root | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
+----------------+------+-------------------------------------------+
4 rows in set (0.00 sec)
# ; , ;
MariaDB [mysql]> select user,host,password from user;
+------+----------------+-------------------------------------------+
| user | host | password |
+------+----------------+-------------------------------------------+
| root | localhost | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| root | tom2.stu31.com | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| root | 127.0.0.1 | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| root | ::1 | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
| | localhost | |
| | tom2.stu31.com | |
+------+----------------+-------------------------------------------+
6 rows in set (0.00 sec)
MariaDB [mysql]> \q
Bye
9.MariaDBが提供するセキュリティ設定スクリプトを使用して、データベースのセキュリティ構成を行います.
MariaDBはいくつかの構成スクリプトを提供しています.
[root@tom2 mysql]# cd $MYSQL_HOME/bin
[root@tom2 bin]# ls
aria_chk mysqlbinlog mysql_plugin
aria_dump_log mysqlbug mysql_secure_installation
aria_ftdump mysqlcheck mysql_setpermission
aria_pack mysql_client_test mysqlshow
aria_read_log mysql_config mysqlslap
innochecksum mysql_convert_table_format mysqltest
msql2mysql mysqld mysql_tzinfo_to_sql
myisamchk mysqld_multi mysql_upgrade
myisam_ftdump mysqld_safe mysql_waitpid
myisamlog mysqldump mysql_zap
myisampack mysqldumpslow mytop
my_print_defaults mysql_find_rows perror
mysql mysql_fix_extensions replace
mysqlaccess mysqlhotcopy resolveip
mysqladmin mysqlimport resolve_stack_dump
mysqlを使いますsecure_インストールこのスクリプトは、セキュリティ構成を行います.
[root@tom2 bin]# mysql_secure_installation
/usr/local/mysql/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
# root ;
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
# ;
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
# root ;
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
# test ;
Remove test database and access to it? [Y/n] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
# ;
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
10.セキュリティ設定データベースが完了するとmysqlを使用してデータベースにログインできません.しかし、通常、mysql-u root-pを使用するのは面倒で、便利にするために、ユーザーホームディレクトリにmysqlのユーザー名とパスワードを持つユーザーを作成することができます.my.cnfはプロファイルを非表示にしてデータベースにログインする.
パスワードを設定してmysqlコマンドを使用するとログインが禁止されます.
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
rootホームディレクトリに隠しファイルを作成するには、次の手順に従います.
[root@tom2 ~]# vim .my.cnf
[mysql]
user = root
password = oracle
host = 127.0.0.1
これによりmysqlがユーザー名パスワードを入力せずにデータベースに直接ログインすることができ、操作が便利になります.
これで、ソースコードコンパイルインストールMariaDBデータベースが完了します.