[Docker] mysql 설치

|
// 우분투 서버 업데이트 및 mysql-server 설치
$sudo apt-get update
$sudo apt-get install mysql-server

// mysql 기본 설치
$sudo ufw allow mysql // 외부 접속 기능 설정 (포트 3306 오픈)
$sudo systemctl start mysql // mysql 실행
$sudo systemctl enable mysql // 우분투 서버 재시작시 mysql 자동 재시작

// mysql 서비스 실행 확인
service --status-all

// mysql 서비스 실행
service mysql start

// mysql 접속 (비번은 우분투 비번과 동일)
$sudo /usr/bin/mysql -u root -p

// mysql 버전 확인
show variables like "%version%";

// mysql 비번 변경
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꿀비번';

// 사용자 정보 확인
SELECT User, Host, authentication_string FROM mysql.user;

// test 라는 데이터베이스 만들고 확인
mysql> CREATE DATABASE test;
mysql> SHOW DATABASES;

// tiger 라는 계정 만들기
mysql> CREATE USER 'tiger'@'localhost' IDENTIFIED BY 'mysql비번';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host, authentication_string FROM mysql.user;

// tiger 계정에 test 데이터베이스 권한 부여
mysql> GRANT ALL PRIVILEGES ON test.* FOR'tiger'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR'tiger'@'localhost';
mysql> SELECT User, Host, authentication_string FROM mysql.user;

 

 

// 아래 내용은 selinux가 적용된 상태에서 mysql가 정상적으로 서비스되지 않았던 부분에 대한 기록
// selinux를 비활성화한 후, reboot하면 mysql은 정상적으로 동작함.

service --status-all
->  mysql 실행상태 (-) 로 확인


service mysql start
->  (root계정으로 전환 후) mysql 실행
-> 아래와 같은 에러메세지 출력
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

systemctl status mysql.service
-> 아래와 같은 상태 확인(원인 확인 불가)
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: activating (start) since Wed 2023-06-28 12:51:36 KST; 3s ago
    Process: 3101750 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 3101758 (mysqld)
     Status: "Server startup in progress"
      Error: 13 (Permission denied)
      Tasks: 5 (limit: 19083)
     Memory: 375.9M
     CGroup: /system.slice/mysql.service
             └─3101758 /usr/sbin/mysqld

systemctl start mysqld
-> 아래와 같은 메세지 출력
Failed to start mysqld.service: Unit mysqld.service not found.

/var/run/mysqld 디렉토리 내에 mysqld.service 파일 부존재

/var/log/mysqld.log 파일 부존재 (mysqlq 에러 로그 확인을 위함)

'IT Infra' 카테고리의 다른 글

멀티 테넌트 (Multi Tenant), 멀티 테넌시(Multi Tenancy)  (0) 2023.08.03
[Ubuntu] Apparmor 활성화  (0) 2023.06.28
[Docker] docker run vs. docker start  (0) 2023.06.28
[Docker] 기초정리 (2)  (0) 2023.06.16
[Docker] command 입력방법  (0) 2023.06.16
And