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