1. 참고 사이트
https://blog.tookbra.com/2017/08/11/mysql-install/
: mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
https://dbwriter.io/installation-mysql80/
2. 설치 순서
groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
폴더 등록
mkdir -p /var/data/mysql
mkdir -p /var/log/mariadb
mkdir -p /var/run/mariadb
mkdir -p /var/log/mysql
mkdir -p /var/lib/mysql
touch /var/log/mariadb/mariadb.log
touch /var/run/mariadb/mariadb.pid
chown -R mysql:mysql /var/data/mysql /var/log/mariadb /var/run/mariadb /var/log/mysql /var/lib/mysql
2.2. mysql 다운로드
wget -c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz /usr/local
cd /usr/local
tar xvfz mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
cp -Rf ./mysql-5.7.36-linux-glibc2.12-x86_64 ../mysql
cd mysql
chown -R mysql:mysql .
yum install libaio.*
## /data/mysql 폴더 생성 ##
mkdir -p /data/mysql
chown mysql.mysql /data/mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --initialize
à /var/log/mysql/error.log 에 임시 암호 있음
## /etc/init.d 등록 ##
cp support-files/mysql.server /etc/init.d/mysqld
## /etc/init.d/mysqld 하단에 data_dir / base_dir 입력
basedir=/usr/local/mysql
datadir=/data/mysql
## default mysql DB 생성 ##
mysql_secure_installation
2.3. my.cnf 등록
[client]
#no-beep
socket =/var/lib/mysql/mysql.sock
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
bind-address=0.0.0.0
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
port=3306
open_files_limit=65535
symbolic-links=0
character-set-server=utf8mb4
default-storage-engine=INNODB
server-id=1
max_connections=2000
#query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
innodb_log_file_size = 1024M
#innodb_strict_mode=0
innodb_strict_mode=on
log_bin_trust_function_creators=1
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
log-error = /var/log/mysql/error.log
explicit_defaults_for_timestamp = TRUE
#sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
3. 환경 추가
/etc/profile 추가
PATH=$PATH:/usr/local/mysql/bin
4. Mysql 시작
## 시작 ##
service mysqld start
/usr/local/mysql/bin/mysql –u root –p
## 방화벽 3306 포트 추가 ##
5. 암호 변경 / 권한 추가
## mysql.7.x 사용자 권한 부여;
사용자 암호 변경 포함;
update user set password=password('1') where user='root';
grant all privileges on *.* to root@'%' identified by '123456';
grant all privileges on *.* to root@'localhost' identified by '123456';
flush privileges;
## mysql 8.x 사용자 권한 부여
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '#!tobe1235';
CREATE USER 'root'@'%' IDENTIFIED BY '#!tobe1235';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
## mysql ssl 사용 참고 사이트 ##
https://susoterran.github.io/mysql/mysql_ssl/
6. Mysql “권한 수정” 이 안될 경우
UPDATE mysql.user SET Grant_priv='Y', Super_Priv='Y' WHERE user='root' AND host='%';
FLUSH PRIVILEGES;
'MySQL' 카테고리의 다른 글
Mysql 서비스 감시 체크 예시 (0) | 2025.03.12 |
---|---|
Maria DB 10.1.22 설치 (0) | 2025.03.11 |
MySQL 5.5 소스 설치 (0) | 2025.03.11 |