MySQL 8 기본 설정사항
/app/mysql
경로에 zip 방식으로 설치한 경우- DATA경로는
/app/mysql_data
라고 가정
my.cnf
/etc/my.cnf
파일 생성
[mysqld] ### 이전버전 인증 플러그인 사용 default-authentication-plugin=mysql_native_password datadir=/app/mysql_data socket=/tmp/mysql.sock log-error=/var/log/mysqld.log pid-file=/app/mysql/mysqld.pid ### 대소문자 구분 비활성화 lower_case_table_names=1 ### Password validation (반드시 초기 구성 완료 후 활성화) #validate_password.length=8 #validate_password.mixed_case_count=0 #validate_password.number_count=0 #validate_password.policy=LOW #validate_password.special_char_count=0 ### slow query slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 2 log_slow_rate_limit = 1 log_slow_verbosity = query_plan log_slow_admin_statements # slow_query_log = 1(사용), 로그파일 위치는 /var/log/mysql/mysql-slow.log # long_query_time = 2 (수행시간이 2초 넘는 쿼리를 수집) ### tunning max_connections = 250 #max_connect_errors=10000 #wait_timeout = 28800 #group_concat_max_len=4M #skip_name_resolve #performance_schema_hosts_size=0 #host_cache_size=0 # EOF
systemd 설정
먼저 systemd용 /usr/lib/systemd/system/mysqld.service
스크립트 파일을 생성한다.
[Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql # Have mysqld write its state to the systemd notify socket Type=notify # Disable service start and stop timeout logic of systemd for mysqld service. TimeoutSec=0 # Start main service ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS # Use this to switch malloc implementation EnvironmentFile=-/etc/sysconfig/mysql # Sets open_files_limit LimitNOFILE = 10000 Restart=on-failure RestartPreventExitStatus=1 # Set environment variable MYSQLD_PARENT_PID. This is required for restart. Environment=MYSQLD_PARENT_PID=1 PrivateTmp=false
이후 권한을 설정해준다.
chmod 644 /usr/lib/systemd/system/mysqld.service systemctl enable mysqld.service
추가적으로 PATH환경변수 등록을 위해 아래와 같이 /etc/profile.d/mysql.sh
파일을 생성해준다.
export PATH="/app/mysql/bin:$PATH"
Database Initialize
user$ sudo ./mysqld \ --defaults-file=/etc/my.cnf \ --initialize \ --user=mysql \ --lower_case_table_names=1 \ --basedir=/app/mysql \ --datadir=/app/mysql_data
참조링크
로그인하면 댓글을 남길 수 있습니다.