[리눅스] mysql 설치하기 ( 일반, dokcer, DBeaver )
# Mysql 설치 및 설정하기
1. 우분투 서버 업데이트
$ sudo apt-get update
2. mysql 설치
$ sudo apt-get install mysql-server

3. 외부 접속 기능 설정 ( 포트 3306 오픈)
$ sudo ufw allow mysql

4. mysql 실행
$ sudo systemctl start mysql
5. 서버 재시작 시 mysql 자동 재시작 설정
$ sudo systemctl enable mysql

6. mysql 실행
# root로 로그인
$ sudo /usr/bin/mysql -u root -p
# userID로 로그인
$ mysql -u {userID} -p

참고 ) 서비스 재시작 - 변경사항의 정상적용 확인
sudo service mysql start
# Mysql 설정하기
7. 사용자 정보 확인
mysql> SELECT User, Host, authentication_string FROM mysql.user;
8. 데이터베이스 생성과 확인
mysql> create database sample_db;
mysql> show databases;
9. sample_db를 사용할 계정 생성 및 확인
- localhost로 쓰여있으면 설치된 로컬 서버에서만 접근이 가능
- %로 설정 시 어디에서나 접근이 가능.
mysql> create user 'testuser'@'localhost' identified by 'password';
mysql> create user 'testuser'@'%' identified by 'password';
mysql> flush privileges;
mysql> select User, Host, authentication_string from mysql.user;
10. 계정에 권한부여
# testuser 계정이 '데이터베이스이름'에만 접근 가능하도록 설정
mysql> GRANT ALL PRIVILEGES ON 데이터베이스이름.* FOR'testuser'@'localhost';
# testuser가 모든 데이터베이스에 접근가능하도록 설정
mysql> GRANT ALL PRIVILEGES ON *.* FOR'testuser'@'localhost';
# testuser가 '데이터베이스이름'에만 접근가능하도록 설정
mysql> GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO 'testuser'@'localhost';
# 변경사항 적용 , 반드시 해야함
mysql> FLUSH PRIVILEGES;
#testuser 의 권한 확인
mysql> show grants for 'testuser'@'localhost';
mysql> select User, Host, authentication_string from mysql.user;
*참고) mysql 버전 확인
mysql> show variables like "%version%";
*참고) mysql 비밀번호 변경
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');
*참고) mysql 종료 후 shell로 복귀
mysql> exit
# 이외의 기타설정
*) max Connection , 초기타임존 등 초기설정 추가
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
#bind-address = 127.0.0.1
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
group_concat_max_len=1048576
sort_buffer_size=4194304
max_connections = 2000
default-time-zone='utc'
*) 기본셋팅 값 추가
sudo vi /etc/mysql/conf.d/mysql.cnf
mysql > default-character-set=utf8mb4
*) 타임존 데이터 설정
mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -uroot -p mysql
*) 프로시저 생성권한 추가
- 프로시저 생성 권한 추가
show global variables like 'log_bin_trust_function_creators';
조회결과 OFF일 경우 SET GLOBAL log_bin_trust_function_creators=ON;
*) max connection 설정
sudo vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
sudo vi /lib/systemd/system/mysql.service
[Service]
LimitNOFILE=4000
sudo systemctl daemon-reload
sudo systemctl restart mysql
#Docker 으로 설치하기
1. 도커설치 & docker-compose도 설치
2. docker-compose.yml 을 작성한다
$ sudo vi docker-compose-mysql.yml
version: '3.3'
services:
db :
image: mysql:latest
volumes:
- ./wordpress_data:/var/www/html
- ./mysql-vol:/var/lib/mysql
ports:
- 3306:3106
container_name: home-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'root패스워드'
MYSQL_DATABASE: '데이터베이스이름'
MYSQL_USER: '사용자id'
MYSQL_PASSWORD: '시영지 비밀번호'
3. 실행
docker-compose up -d
4. 윗 문단의 3번부터 실행한다.
[참고]
https://m.blog.naver.com/jesang1/221993846056
우분투에 Mysql 설치하기 (How to install Mysql-server in Ubuntu)
우분투 서버에 Mysql 서버를 설치 하는 방법을 잊지 않기 위해 포스팅 함 1. 우분투 서버 업데이트 및 My...
blog.naver.com
https://deeplify.dev/database/troubleshoot/public-key-retrieval-is-not-allowed
[Mysql] Public key retrieval is not allowed 에러 해결
Public key retrieval is not allowed 에러가 발생하는 이유와 해결하는 방법에 대해서 소개해드립니다.
deeplify.dev
https://deeplify.dev/database/troubleshoot/public-key-retrieval-is-not-allowed