MariaDB MySQL 설치 - signsys/signsys.github.io GitHub Wiki
MariaDB 설치
MariaDB 11.4 설치 on Ubuntu 24.04 (Repository 방식)
참고: https://mariadb.org/download/?t=repo-config&d=24.04+%22noble%22&v=11.4&r_m=blendbyte
repository key 받기
$ sudo apt update
$ sudo mkdir -p /etc/apt/keyrings && sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
repository 추가
$ sudo vi /etc/apt/sources.list.d/mariadb.sources
--> 내용 추가
# MariaDB 11.4 repository list - created 2025-04-24 22:09 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/11.4/ubuntu
URIs: https://tw1.mirror.blendbyte.net/mariadb/repo/11.4/ubuntu
Suites: noble
Components: main main/debug
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp
설치
$ sudo apt update
$ sudo apt -y install mariadb-server
50-client.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-client.cnf
--> 내용 추가
[client]
default-character-set = utf8mb4
50-mariadb-clients.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-mariadb-clients.cnf
--> 내용 추가
[mysql]
default-character-set = utf8mb4
50-server.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
--> 주석 처리 (접속 IP 제한 해제)
# bind-address = 127.0.0.1
--> 내용 추가
[mysqld]
character-set-client-handshake = FALSE
lower_case_table_names = 1
--> 내용 변경
#innodb_buffer_pool_size = 8G --> innodb_buffer_pool_size = 512M
실행
$ sudo systemctl stop mariadb
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb
초기 패스워드 설정
$ sudo mariadb-secure-installation
설정 확인
$ mariadb -u root -p
MariaDB> show variables like 'c%';
MariaDB> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여
MariaDB> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
MariaDB> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
MariaDB> select user, password, host from mysql.user;
DB 생성
MariaDB> create database mydb;
MariaDB> show databases;
MariaDB 10.11 설치 on Ubuntu 22.04 (Repository 방식)
참고: https://mariadb.org/download/?t=repo-config&d=22.04+%22jammy%22&v=10.11&r_m=blendbyte
repository key 받기
$ sudo apt update
$ sudo mkdir -p /etc/apt/keyrings && sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
repository 추가
$ sudo vi /etc/apt/sources.list.d/mariadb.sources
--> 내용 추가
# MariaDB 10.11 repository list - created 2024-09-11 03:17 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/10.11/ubuntu
URIs: https://tw1.mirror.blendbyte.net/mariadb/repo/10.11/ubuntu
Suites: jammy
Components: main main/debug
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp
설치
$ sudo apt update
$ sudo apt -y install mariadb-server
50-client.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-client.cnf
--> 내용 추가
[client]
default-character-set = utf8mb4
50-mysql-clients.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
--> 내용 추가
[mysql]
default-character-set = utf8mb4
50-server.cnf 수정
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
--> 주석 처리 (접속 IP 제한 해제)
# bind-address = 127.0.0.1
--> 내용 추가
[mysqld]
character-set-client-handshake = FALSE
lower_case_table_names = 1
--> 내용 변경
collation-server = utf8mb4_general_ci --> collation-server = utf8mb4_unicode_ci
#innodb_buffer_pool_size = 8G --> innodb_buffer_pool_size = 512M
실행
$ sudo systemctl stop mariadb
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb
초기 패스워드 설정
$ sudo mariadb-secure-installation
설정 확인
$ mysql -u root -p
MariaDB> show variables like 'c%';
MariaDB> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여
MariaDB> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
MariaDB> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
MariaDB> select user, password, host from mysql.user;
DB 생성
MariaDB> create database mydb;
MariaDB> show databases;
MariaDB 10.11 설치 on Rocky Linux 8 / RHEL 8 (Yum Repository 방식)
참고: https://mariadb.org/download/?t=repo-config&d=Red+Hat+Enterprise+Linux+8&v=10.11&r_m=blendbyte
MariaDB repository 작성
$ sudo vi /etc/yum.repos.d/MariaDB.repo
--> 내용
# MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2024-08-01 23:13 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/rhel/$releasever/$basearch
baseurl = https://tw1.mirror.blendbyte.net/mariadb/yum/10.11/rhel/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://tw1.mirror.blendbyte.net/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
설치
$ sudo yum -y install MariaDB-server MariaDB-client
설정
$ sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
실행
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb
초기 패스워드 설정
$ sudo mariadb-secure-installation
설정 확인 / 사용자 추가 / 권한부여 / DB 생성
$ mysql -u root -p
MariaDB> show variables like 'c%';
MariaDB> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여
MariaDB> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
MariaDB> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
MariaDB> select user, password, host from mysql.user;
DB 생성
MariaDB> create database mydb;
MariaDB> show databases;
MariaDB 10.11 설치 on CentOS 7 (Yum Repository 방식)
다운로드: https://mariadb.org/download/?t=repo-config
참고: https://linuxize.com/post/install-mariadb-on-centos-7/#install-mariadb-103-on-centos-7
참고: https://foxydog.tistory.com/93
MariaDB repository 작성
$ sudo yum install -y epel-release
$ sudo vi /etc/yum.repos.d/MariaDB.repo
--> 내용
# MariaDB 10.11 CentOS repository list - created 2023-11-02 06:31 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/centos/$releasever/$basearch
baseurl = https://tw1.mirror.blendbyte.net/mariadb/yum/10.11/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://tw1.mirror.blendbyte.net/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
설치
$ sudo yum install -y MariaDB-server MariaDB-client
설정
$ sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
실행
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb
초기 패스워드 설정
$ sudo mariadb-secure-installation
설정 확인 / 사용자 추가 / 권한부여 / DB 생성
$ mysql -u root -p
MariaDB> show variables like 'c%';
MariaDB> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
MariaDB> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
MariaDB> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
MariaDB> create database mydb;
MariaDB> show databases;
MariaDB> select user, password, host from mysql.user;
MariaDB 10.3 설치 on CentOS 7(바이너리)
group/user 생성
# groupadd mysql
# useradd -g mysql mysql
다운로드 및 복사
# yum install -y wget net-tools
# mkdir ~/Downloads
# cd ~/Downloads/
# wget --no-check-certificate https://archive.mariadb.org/mariadb-10.3.39/bintar-linux-systemd-x86_64/mariadb-10.3.39-linux-systemd-x86_64.tar.gz
# tar zxvf mariadb-10.3.39-linux-systemd-x86_64.tar.gz
# mv mariadb-10.3.39-linux-systemd-x86_64 /usr/local/
# cd /usr/local/
# ln -s mariadb-10.3.39-linux-systemd-x86_64 mysql
설치
# cd /usr/local/mysql/
# ./scripts/mysql_install_db --user=mysql
권한부여
# chown -R mysql:mysql /usr/local/mariadb-10.3.39-linux-systemd-x86_64
# chown -R mysql:mysql /usr/local/mysql
# chown -R mysql:mysql /var/lib/mysql
# mkdir /var/log/mariadb
# touch /var/log/mariadb/mariadb.log
# chmod 644 /var/log/mariadb/mariadb.log
# chown -R mysql:mysql /var/log/mariadb
# mkdir /var/run/mariadb
# chown -R mysql:mysql /var/run/mariadb
PATH 추가
# vi /etc/profile
내용추가
export PATH=$PATH:/usr/local/mysql/bin/
my.cnf 설정
# mv /etc/my.cnf /etc/my.cnf.backup
# sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
-> 주석처리
#socket=/var/lib/mysql/mysql.sock
systemd 등록 및 실행
# cp support-files/systemd/mariadb.service /usr/lib/systemd/system/
# systemctl daemon-reload
# systemctl enable mariadb
# systemctl start mariadb
패스워드 설정
# ./bin/mysqladmin -u root password '비밀번호'
설정 확인 / 사용자 추가 / 권한부여 / DB 생성
$ mysql -u root -p
MariaDB> show variables like 'c%';
MariaDB> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
MariaDB> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
MariaDB> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
MariaDB> create database mydb;
MariaDB> show databases;
MariaDB> select user, password, host from mysql.user;
MariaDB 10.0 설치 on CentOS 7(다운로드 방식)
설치 파일 다운로드
# yum install -y wget
# mkdir ~/Downloads
# cd ~/Downloads/
# wget --no-check-certificate https://archive.mariadb.org/mariadb-10.0.38/bintar-linux-systemd-x86_64/mariadb-10.0.38-linux-systemd-x86_64.tar.gz
# groupadd mysql
# useradd -g mysql mysql
# chown -R mysql:mysql mariadb-10.0.38-linux-systemd-x86_64.tar.gz
# mv mariadb-10.0.38-linux-systemd-x86_64.tar.gz /usr/local/
# cd /usr/local/
# tar zxvf mariadb-10.0.38-linux-systemd-x86_64.tar.gz
# ln -s ./mariadb-10.0.38-linux-systemd-x86_64 /usr/local/mysql
MySQL 설치
MySQL 8.0 on Rocky Linux 8 (Yum Repository 방식)
참고: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
Yum Repository 다운로드: https://dev.mysql.com/downloads/repo/yum/
Yum Repository 추가
$ sudo dnf -y install wget yum-utils
$ mkdir ~/Downloads && cd ~/Downloads
$ wget https://repo.mysql.com//mysql84-community-release-el8-1.noarch.rpm
$ sudo dnf -y install mysql84-community-release-el8-1.noarch.rpm
$ sudo dnf repolist all | grep mysql
버전 선택(dnf): 8.4 -> 8.0
$ sudo dnf repolist enabled | grep mysql
$ sudo dnf config-manager --disable mysql-8.4-lts-community
$ sudo dnf config-manager --disable mysql-tools-8.4-lts-community
$ sudo dnf config-manager --enable mysql80-community
$ sudo dnf config-manager --enable mysql-tools-community
$ sudo dnf repolist enabled | grep mysql
Disabling the Default MySQL Module(RHEL 8)
$ sudo dnf module disable mysql
설치
$ sudo dnf -y install mysql-community-server
MySQL 데이터 디렉토리 삭제/생성
$ sudo ls -alh /var/lib/mysql/ --> 디렉토리에 파일이 있으면 아래 명령 실행
$ sudo rm -rf /var/lib/mysql
$ sudo mkdir /var/lib/mysql
$ sudo chown mysql:mysql /var/lib/mysql
$ sudo chmod 700 /var/lib/mysql
UTF8MB4 및 대소문자 설정 -> 참조: https://yookeun.github.io/database/2015/07/21/mysql-utf8mb4/
$ sudo vi /etc/my.cnf
-> 내용 추가
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
MySQL 실행
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld
보안설정 -> 참조: https://dejavuqa.tistory.com/349
$ sudo grep 'temporary password' /var/log/mysqld.log --> 패스워드 확인
$ sudo mysql_secure_installation
설정 확인
$ sudo systemctl restart mysqld
$ sudo systemctl status mysqld
$ mysql -u root -p
mysql> show variables like 'c%';
mysql> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
msyql> select user, host from mysql.user;
DB 생성
msyql> create database mydb;
msyql> show databases;
MySQL 8.0 on CentOS 7 (Yum Repository 방식)
참고: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
Yum Repository 다운로드: https://dev.mysql.com/downloads/repo/yum/
MySQL Yum Repository 추가
$ sudo yum install -y wget
$ sudo yum install -y yum-utils
$ mkdir ~/Downloads
$ cd ~/Downloads
$ wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
$ sudo yum -y install mysql84-community-release-el7-1.noarch.rpm
버전 선택(yum): 8.4 -> 8.0
$ sudo yum repolist enabled | grep mysql
$ sudo yum-config-manager --disable mysql-8.4-lts-community
$ sudo yum-config-manager --disable mysql-tools-8.4-lts-community
$ sudo yum-config-manager --enable mysql80-community
$ sudo yum-config-manager --enable mysql-tools-community
$ sudo yum repolist enabled | grep mysql
MySQL 설치
$ sudo yum -y install mysql-community-server
MySQL 데이터 디렉토리 삭제/생성
$ sudo ls -alh /var/lib/mysql/ --> 디렉토리에 파일이 있으면 아래 명령 실행
$ sudo rm -rf /var/lib/mysql
$ sudo mkdir /var/lib/mysql
$ sudo chown mysql:mysql /var/lib/mysql
$ sudo chmod 700 /var/lib/mysql
UTF8MB4 및 대소문자 설정 -> 참조: https://yookeun.github.io/database/2015/07/21/mysql-utf8mb4/
$ sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
MySQL 실행
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld
보안설정 -> 참조: https://dejavuqa.tistory.com/349
$ sudo grep 'temporary password' /var/log/mysqld.log --> 패스워드 확인
$ sudo mysql_secure_installation
설정 확인
$ sudo systemctl restart mysqld
$ sudo systemctl status mysqld
$ mysql -u root -p
mysql> show variables like 'c%';
mysql> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
msyql> create database mydb;
msyql> show databases;
msyql> select user, host from mysql.user;
MySQL 8.0 RPM 설치 on CentOS 7
참고: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html
RPM Bundle 파일 다운로드 (MySQL 8.0.22)
$ sudo yum install -y wget
$ mkdir ~/Downloads
$ cd ~/Downloads
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
--> PC로 파일을 받아 전송해도 됨.
설치
$ tar xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
$ sudo yum install -y mysql-community-{server,client,common,libs}-*
MySQL 데이터 디렉토리 삭제/생성
$ sudo ls -alh /var/lib/mysql/ --> 디렉토리에 파일이 있으면 아래 명령 실행
$ sudo rm -rf /var/lib/mysql
$ sudo mkdir /var/lib/mysql
$ sudo chown mysql:mysql /var/lib/mysql
$ sudo chmod 700 /var/lib/mysql
UTF8MB4 및 대소문자 설정 -> 참조: https://yookeun.github.io/database/2015/07/21/mysql-utf8mb4/
$ sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
보안설정 -> 참조: https://dejavuqa.tistory.com/349
$ sudo systemctl enable mysqld
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld
$ sudo grep 'temporary password' /var/log/mysqld.log --> 패스워드 확인
$ sudo mysql_secure_installation
설정 확인
$ sudo systemctl restart mysqld
$ sudo systemctl status mysqld
$ mysql -u root -p
mysql> show variables like 'c%';
mysql> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
msyql> create database mydb;
msyql> show databases;
msyql> select user, host from mysql.user;
서비스
$ sudo systemctl enable mysqld --> 자동시작 등록
$ sudo systemctl start mysqld --> 시작
$ sudo systemctl stop mysqld --> 정지
$ sudo systemctl restart mysqld --> 재시작
$ sudo systemctl status mysqld --> 상태
MySQL 8 on Ubuntu 22.04
설치
sudo apt update
sudo apt upgrade
sudo apt install mysql-server
sudo mysql_secure_installation
sudo mysql --> root 접속
bind-address 주석처리
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
내용변경(주석처리)
# bind-address = 127.0.0.1
# mysqlx-bind-address = 127.0.0.1
재시작
$ sudo systemctl stop mysql
$ sudo systemctl start mysql
root 접속
$ sudo mysql
mysql> show variables like 'c%';
mysql> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
msyql> create database mydb;
msyql> show databases;
msyql> select user, host from mysql.user;
MySQL Community Downloads(메인): https://dev.mysql.com/downloads/
MySQL Community Server(설치파일) Download: https://dev.mysql.com/downloads/mysql/
MySQL 5.6 RPM 설치 on CentOS 7 (X86, 64bit)
참고: https://dev.mysql.com/doc/refman/5.6/en/linux-installation-rpm.html
설치 도중 Transaction check error 방지 -> YUM 방식은 자동처리됨.
$ sudo yum list installed | grep -i mariadb --> mariadb 관련 패키지 확인
$ sudo yum remove -y mariadb-libs.x86_64 --> mariadb 관련 패키지 삭제
RPM Bundle 파일 다운로드 (MySQL 5.6.50)
$ sudo yum install -y wget
$ mkdir ~/Downloads
$ cd ~/Downloads
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.50-1.el7.x86_64.rpm-bundle.tar
설치
$ tar xvf MySQL-5.6.50-1.el7.x86_64.rpm-bundle.tar
$ sudo yum install -y MySQL-{server,client}-*
UTF8MB4 및 대소문자 설정 -> 참조: https://yookeun.github.io/database/2015/07/21/mysql-utf8mb4/
$ sudo find / -name 'my*.cnf' $ sudo cp /usr/my.cnf /etc/ $ sudo vi /etc/my.cnf
-> 내용 추가
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
lower_case_table_names = 1
innodb_buffer_pool_size = 512M
보안설정 -> 참조: https://dejavuqa.tistory.com/349
$ sudo service mysql start
$ sudo cat /root/.mysql_secret --> 패스워드 확인
$ sudo mysql_secure_installation
설정 확인
$ sudo service mysql stop
$ sudo service mysql start
$ mysql -u root -p
mysql> show variables like 'c%';
mysql> show variables like 'lower_case_table_names';
사용자 추가 / 권한부여 / DB 생성
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL ON *.* TO 'user'@'%' WITH GRANT OPTION;
mysql> create database mydb;
mysql> select user, host from mysql.user; --> 사용자 확인
mysql> show databases; --> Database 확인
서비스 --> YUM 방식과 다르다.
$ sudo service mysql start --> 시작
$ sudo service mysql stop --> 정지
$ sudo service mysql status --> 상태
.
.
.
MySQL 5.6 설치 on CentOS 7 (Yum Repository 방식)
참고: https://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html
.
MySQL Yum Repository 추가
$ sudo yum install -y wget
$ sudo yum install -y yum-utils
$ mkdir ~/Downloads
$ cd ~/Downloads
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
$ sudo yum install -y mysql80-community-release-el7-3.noarch.rpm
Release Series 선택 -> MySQL 5.6/5.7 경우
$ sudo yum repolist all | grep mysql
$ sudo yum-config-manager --disable mysql80-community --> 8.0 해제
$ sudo yum-config-manager --enable mysql56-community --> 5.6 설정
설치
$ sudo yum install -y mysql-community-server
서비스
$ sudo systemctl enable mysqld --> 자동시작 등록
$ sudo systemctl start mysqld --> 시작
$ sudo systemctl stop mysqld --> 정지
$ sudo systemctl restart mysqld --> 재시작
$ sudo systemctl status mysqld --> 상태
MySQL 5.7 설치 on CentOS 7 (RPM 설치)
참조: https://sparkdia.tistory.com/11
다운로드: https://dev.mysql.com/downloads/mysql/
.
RPM 다운로드 및 설치
$ sudo yum install -y wget
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
$ tar xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
$ sudo yum -y localinstall mysql-community-*
MySQL 5.6/5.7 설치 on CentOS 7 (Yum Repository 방식)
CentOS 7에 MySQL 5.6 설치(CentOS7부터 MariaDB가 MySQL을 대체)
https://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html
.
MySQL Yum Repository 추가
$ sudo yum install -y wget
$ mkdir ~/Dowloads
$ cd ~/Dowloads
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
$ sudo yum install -y mysql80-community-release-el7-3.noarch.rpm
Release Series 선택 -> MySQL 5.6/5.7 경우
$ sudo yum repolist all | grep mysql
$ sudo yum-config-manager --disable mysql80-community -> 8.0 선택 해제
$ sudo yum-config-manager --enable mysql56-community -> 5.6 선택
$ sudo yum-config-manager --enable mysql57-community -> 5.7 선택
MySQL 설치
$ sudo yum install -y mysql-community-server
MySQL 설치 후 설정
서비스 시작/정지/재시작/상태/자동시작등록
https://shas15.github.io/install-centos-mysql/
$ sudo systemctl start mysqld
$ sudo systemctl stop mysqld
$ sudo systemctl restart mysqld
$ sudo systemctl status mysqld
$ sudo systemctl enable mysqld
root 임시 패스워드 찾기
$ sudo grep 'temporary password' /var/log/mysqld.log
로컬 접속
$ mysql -uroot -p
mysql> show databases;
패스워드 변경
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '패스워드'; -> 패스워드 변경
mysql> SHOW VARIABLES LIKE 'validate_password%'; -> 패스워드 정책 확인
mysql> SET GLOBAL validate_password_policy=LOW; -> 패스워드 정책 변경
부팅 시 자동시작 설정
$ sudo systemctl enable mysqld.service
$ systemctl is-enabled mysqld.service
.
MySQL 5.1 설치 on CentOS 6
CentOS 6.9에 yum 명령으로 MySQL 5.1 설치
https://zetawiki.com/wiki/CentOS_MySQL_%EC%84%A4%EC%B9%98
$ sudo yum install mysql-server
서비스 시작
$ sudo service mysqld start
root 패스워드 설정
$ mysql_secure_installation
로컬 접속
$ mysql -uroot -p
mysql> show databases;
부팅 시 자동시작 설정
$ sudo chkconfig mysqld on
$ chkconfig --list mysqld
.
.
MySQL 관련 팁
MySQL 전체 백업
$ cd ~
$ sudo docker exec docker_db_1 sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > ./all-databases.sql
MySQL 전체 복구
$ sudo docker cp ./all-databases.sql docker_db_1:/
$ sudo docker exec -it docker_db_1 bash
# mysql -uroot -p < all-databases.sql
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Tibero 환경변수 적용
# su tibero
$ cd ~
$ source .bash_profile
$ tbboot
$ tbdown
$ tbsql sys/tibero