리눅스
CentOS 7 에서 MySQL 5.7 yum 설치 스크립트
Link2Me
2021. 10. 23. 15:04
728x90
CentOS 7 에서 MySQL 5.7 버전을 yum 설치하는 스크립트이다.
MariaDB, MySQL 5.6 버전과는 약간 명령어가 다른 것이 있으니 주의가 필요하다.
## mariadb 설치된 것 한꺼번에 지우기
rpm -qa | grep mariadb >list
# vi list로 해서 삭제 안할 리스트는 선별 제거한다.
sudo yum -y remove $(awk '{print $1}' <list)
rpm -qa | grep MariaDB
# 기존 MariaDB에서 사용된 파일 삭제 필요
rm -f -r /var/lib/mysql
# MySql 5.7 버전
yum -y install wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server
######### MySQL setting ######################
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
# 기본 설정되는 임시패스워드 알아내기
cat /var/log/mysqld.log | grep 'temporary password'
# Maria DB 보안 설정하기
mysql_secure_installation
알아낸 임시패스워드 입력하고 영문 소문자, 대문자, 숫자, 특수문자를 포함한 패스워드로 변경
vi /etc/my.cnf
[mysqld]
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
bind-address = 0.0.0.0
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
# MySQL 데몬 재시작
systemctl restart mysqld
mysql -u root -p
비밀번호
status
show variables like 'c%';
# MYSQL root 암호 변경 방법
mysql -u root -p
비밀번호 입력
use mysql;
alter user 'root'@'localhost' identified with mysql_native_password by '비밀번호';
flush privileges;
select host, user, plugin, authentication_string, password_last_changed from user;
quit
##########################################
####### 실제 적용 예제 ######
##########################################
// DB 생성
create database studydb default character set utf8;
# 비밀번호 정책 확인 (최소 8자리 이상이어야 한다)
show variables like 'validate_password%';
use mysql;
create user codefox@localhost identified by 'Autoset12#$';
grant all privileges on studydb.* to codefox@localhost;
flush privileges;
use mysql;
create user codefox@'192.168.1.25' identified by 'Autoset12#$';
grant all privileges on studydb.* to codefox@'192.168.1.25';
flush privileges;
# 백업하기
mysqldump -uroot -p --databases studydb > studydb.sql
### 테이블 구조만 백업하기 ####
mysqldump -uroot -p --no-data --databases studydb > studydb.sql
###############################################################################
# 샘플 테이블 생성
use studydb;
CREATE TABLE User (
`uid` int(11) NOT NULL,
`account` varchar(45) NOT NULL,
`email` varchar(45) DEFAULT NULL,
`phone_number` varchar(15) DEFAULT NULL COMMENT '전화번호',
`created_at` datetime NOT NULL,
`created_by` varchar(45) NOT NULL,
`updated_at` datetime DEFAULT NULL,
`updated_by` varchar(45) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `user`
ADD PRIMARY KEY (`uid`),
ADD UNIQUE KEY `account` (`account`);
ALTER TABLE `user`
MODIFY `uid` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
#######################################################################
# 방화벽 설정
yum -y install firewalld
# 방화벽 데몬 시작
systemctl start firewalld
# 서버 부팅 시 firewalld 데몬 자동 시작 설정
systemctl enable firewalld
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=mysql
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=8000/tcp
firewall-cmd --reload
firewall-cmd --list-all
#######################################################################
|
728x90