MariaDBインストールメニュー
11243 ワード
データディレクトリ基準
≪アクション|Actions|oem_src≫:冗長性を実現するためにデータ・パーティション内に作成されます.
[root@mbv-selfdb2 data]# pwd
/data
[root@mbv-selfdb2 data]# ll
total 4
drwxr-xr-x 5 maria dba 4096 Sep 17 09:38 MARIA_DATA
drwxr-xr-x 2 maria dba 25 Aug 13 11:12 MARIA_LOG
開発:/boxパーティション内で作成
[asmanager@mbv-devselfDB box]$ pwd
/box
[asmanager@mbv-devselfDB box]$ ll
total 4
drwxr-xr-x 4 maria dba 34 Dec 9 03:01 backup
drwxr-xr-x. 2 root root 6 Jun 11 15:06 DBA
drwxr-xr-x. 5 maria dba 4096 Sep 16 16:17 MARIA_DATA
drwxr-xr-x. 2 maria dba 25 Sep 16 09:57 MARIA_LOG
ポート標準
開発:3306
テスト:4306
運用:5306
MariaDBのインストール
1アカウントの作成
1.1システムアカウントの作成
作成
[root@adb1 ~]# groupadd dba
[root@adb1 ~]# useradd -g dba maria
[root@adb1 ~]# cat /etc/group |grep dba
dba:x:500:
[root@adb1 ~]# cat /etc/passwd |grep maria
maria:x:500:500::/MARIA/:/bin/bash
1.2マリア勘定科目環境変数の設定
[maria@jv0574 ~]$ vi ~/.bashrc
* 해당구문 추가
export PATH=$PATH:/MARIA/mariadb/bin
* 수정내용 적용
source ~/.bashrc
2.インストールディレクトリの作成と権限の設定
## 디렉토리 생성
#mkdir -p /MARIA/mariadb
#mkdir -p /box/MARIA_LOG/{general,relay,error,slow,binarylog}
#mkdir -p /box/{MARIA_DATA,MARIA_TEMP}
## 권한 설정
root@jv0574 [/box/MARIA_LOG]chown -R maria:dba /MARIA/ /box/MARIA_DATA/ /box/MARIA_LOG/ /box/MARIA_TEMP/
3.MariaDBのインストール
3.1インストールファイルのダウンロード
https://mariadb.com/kb/en/postdownload/mariadb-server-10-2-14/
https://downloads.mariadb.org/mariadb
3.2解凍と配線
## 압축풀기
root@jv0574 [/home/joinsiam]tar zxvf mariadb-10.2.14-linux-systemd-x86_64.tar.gz
## 경로 설정
root@jv0574 [/home/joinsiam]mv mariadb-10.2.14-linux-systemd-x86_64 /MARIA/mariadb_10.2.14
## 링크 생성
root@jv0574 [/MARIA]ln -s /MARIA/mariadb_10.2.14/ /MARIA/mariadb
4.MariaDB設定
4.1 my.cnf設定
MariaDBのエンジンパラメータの設定はデフォルトですので、サーバの物理メモリサイズに直接関係するバッファ・プールのサイズ(通常は物理メモリの50%に設定)を調整し、次の推奨値を使用することをお勧めします.
プロファイルはMariaDB構成で最も重要な部分です.設定ファイルの各項目の詳細については、「
「設定」を参照
https://mariadb.com/kb/en/server-system-variables/#interactive_timeout
my.cnf
[client]
socket=/tmp/mysql.sock
[mysqld]
user=maria
sql-mode=STRICT_ALL_TABLES,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION # ANSI_QUOTES 의 경우 신규 프로젝트 생성시만 적용
lower_case_table_names=1 #데이터베이스 또는 테이블의 대소문자구분하지 않음으로 설정
basedir=/MARIA/mariadb
port=3306
socket=/tmp/mysql.sock
datadir=/box/MARIA_DATA
tmpdir=/box/MARIA_TEMP
#secure_file_priv=/tmp # LOAD_FILE()함수 설정
# Character set Config
character-set-client-handshake=FALSE # skip-character-set-client-handshake
character-set-server=utf8mb4
init_connect=SET collation_connection = utf8mb4_general_ci
init_connect=SET NAMES utf8mb4
# Common Config
interactive_timeout=1800 # 콘솔/터미널 timeout 시간, Default Value: 28800
#max_allowed_packet=128M
max_connections=1000 # 최대 커넥션 수 WAS의 커넥션풀보다 크게 설정
skip-name-resolve=1
# binlog_cache_size=1M # 한 트랜잭션 동안 binary log 에 쓸 변경분 캐쉬 크기
# max_heap_table_size=2048M # MEMORY 스토리지 엔진 변수
# skip-external-locking #for MyISAM , Aria
# max_length_for_sort_data=1024 # default 1024
# tmp_table_size=2048M # default 16M
table_open_cache=10240 # Maximum number of open tables cached in one table cache instance default 2000
table_open_cache_instances=16 # default 8
transaction-isolation= READ-COMMITTED
open_files_limit = 21515
performance_schema=1 # 관련부분 추가 설정 필요
# Buffer_size Config
# 유지보수 업체 setting값
# read_buffer_size=2M # for MyISAM, Aria and MERGE tables
# join_buffer_size=2M # Default Value: 262144 (256kB) 최소 크기이므로 낮게 설정해도 됨
# read_rnd_buffer_size=8M # for MyISAM
# sort_buffer_size=1M # default 2M
# Query Cache Disable
# MySQL 8.0 에서는 사라진 기능
query_cache_type=0
query_cache_size=0
# Log Config
log-bin=/box/MARIA_LOG/binary/mysql-bin
relay-log=/box/MARIA_LOG/relay/relay-log # 슬레이브의 I/O 쓰레드가 마스터로부터 갱신로그(갱신관련 쿼리를 기록한 데이터)를 수신해서 슬레이브 측에 저장한 것
expire_logs_days=7 # binary log 저장기한
max_binlog_size=1G
sync_binlog=1 #bin log가 쓰일때마다 disk flush
binlog_format=mixed
log-error=/box/MARIA_LOG/error/mysql.err
slow_query_log_file=/box/MARIA_LOG/slow/mysql-slow-query.log
#slow_query_log=1 #slow쿼리 로그 활성화
#long_query_time=10 # 해당 초 이상의 슬로우 쿼리 기록
#general_log=1
#general_log_file=/box/MARIA_LOG/general/mysql_general.log
# Innodb config
innodb_data_home_dir=/box/MARIA_DATA
# innodb_log_group_home_dir=/box/MARIA_DATA
innodb_buffer_pool_size = 3G #전체 메모리의 50~80%
innodb_data_file_path=ibdata1:1024M;ibdata2:1024M;ibdata3:1024M:autoextend
innodb_file_per_table=1
innodb_flush_method= O_DIRECT
# innodb_lock_wait_timeout=50 # lock 대기하는 시간, default 50
# innodb_log_buffer_size=128M # redo log 버퍼 크기 , default 16M
# innodb_log_file_size= 512M # redo log 파일 크기, default 96M
# innodb_log_files_in_group=8
# innodb_thread_sleep_delay=0
# innodb_fast_shutdown
# innodb_autoinc_lock_mode=1
#innodb_thread_concurrency = 0 # 10.6 버전부터 삭제됨 동시 쓰레드 수 , default 0
innodb_read_io_threads = 4 # default 4
innodb_write_io_threads = 4 # default 4
# innodb_open_files = 8192 # 최대 열어놓을수 있는 .ibd파일 수
# MyISAM Config
# bulk_insert_buffer_size = 64M
# key_buffer_size =128M
# myisam_max_sort_file_size =10G
# myisam_recover_options
# myisam_repair_threads= 1
# myisam_sort_buffer_size =64M
# Replication related settings
# log_bin_trust_function_creators = 1 # replication환경에서는 이 설정을 해야만 routine 생성 가능
#server-id =1
[mysqldump]
# quick # buffer쓰지 않고 direct로dump받기
# max_allowed_packet=512M
「設定」を参照
* socket :
>mysql 서버프로세스(mysql)과 클라이언트 프로세스가 통신하기 위해 사용됨
기동중에만 생성되고 종료시 삭제
mysqld와 클라이언트 모두 사용가능한 위치에 있어야함
* performance_schema :
성능 지표 수집 관련 설정
> 참고
https://myinfrabox.tistory.com/194
* skip-name-resolve=1
>MySQL 서버는 외부로 부터 접속 요청을 받을 경우 인증을 위해 IP 주소를 호스트네임으로 바꾸는 과정을 수행하여 접속시에 불필요한 부하가 발생하게 됩니다. skip-name-resolve를 설정하시고 접속시에 IP 기반으로 접속을 하게 되면 hostname lookup 과정을 생략하게 되어 좀 더 빠르게 접속을 하실 수 있습니다.
# pid-file=/MARIA_DATA/mysql.pid -> 미 설정시 DATA_DIR/HOST_NAME.pid 라는 경로 및 파일명을 갖는다.
5.インストール
./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=maria
インストールログ
[maria@jv0574 mariadb]$ ./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=maria
Installing MariaDB/MySQL system tables in '/box/MARIA_DATA' ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'/MARIA/mariadb/bin/mysqladmin' -u root password 'new-password'
'/MARIA/mariadb/bin/mysqladmin' -u root -h jv0574 password 'new-password'
Alternatively you can run:
'/MARIA/mariadb/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd '/MARIA/mariadb' ; /MARIA/mariadb/bin/mysqld_safe --datadir='/box/MARIA_DATA'
You can test the MariaDB daemon with mysql-test-run.pl
cd '/MARIA/mariadb/mysql-test' ; perl mysql-test-run.pl
Please report any problems at http://mariadb.org/jira
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
6.サーバの起動
6.1 Systemsctlへのログイン後の起動/停止
6.1.1
マリアは/etc/systemd/systemディレクトリにいます.サービスファイルの作成
[Unit]
Description=MariaDB
#After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
#Alias=maria
[Service]
Type = forking
# Start main service
#ExecStart=/MARIA/mariadb/bin/mysqld_safe --user=maria
#ExecStart=/etc/init.d/maria start
ExecStart=/MARIA/mariadb/support-files/mysql.server start
6.1.1起動/停止指令
スタート
systemctl start maria
中指
systemctl stop maria
ステータスの確認
ps -ef | grep mysql
vi/box/MARIA_LOG/error/mysql.err
サーバ再起動時のデータベース起動の設定
root@jv0574 [/etc/systemd/system]systemctl enable maria
マリアは対応するディレクトリにいます.サービスが存在する場合、オペレーティングシステムの再起動時にデータベース
ex)サービスファイル名はmariaです.サービスの場合、別名=mariaです.サービス時エラー
chkconfigユーティリティを使用してCentos 6に自動的に登録します.
Centos 7からSystemclを使用して自動起動することを推奨します.
7.その他の設定
7.1 mysql secureのインストール
基本的なセキュリティのために設定されたスクリプト.
rootパスワード変更/testdbや匿名アカウントの削除などを行います.
7.1.1 mysql secureインストールファイルの26行の変更
[maria@adb1 mariadb]#vi bin/mysql_secure_installation
…
basedir=/MARIA/mariadb
…
7.1.2 mysql secureインストールの実行
[maria@jv0574 bin]$ mysql_secure_installation
7.1 METADATA LOCK INFOプラグインのインストール
The METADATA_LOCK_INFO plugin creates the METADATA_LOCK_INFO table in the INFORMATION_SCHEMA database. This table shows active metadata locks. The table will be empty if there are no active metadata locks.
root@jv0574 [/MARIA/mariadb/bin]./mysql -uroot -p
MariaDB [(none)]> INSTALL SONAME 'metadata_lock_info'
MariaDB [(none)]> SELECT * FROM information_schema.metadata_lock_info;
Reference
この問題について(MariaDBインストールメニュー), 我々は、より多くの情報をここで見つけました https://velog.io/@emawlrdl/MariaDB-설치-메뉴얼テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol