1. MySQL, Workbench 설치
0. mysql 삭제
:문제가 발생하면, 재설치 or 환경설정 연습시 반복 실행
# 실행중인 mysql 프로세스 정지
sudo service mysql stop && sudo systemctl stop mysql
# mysql 키워드가 포함된 패키지 찾기
dpkg -l | grep mysql
# purge 명령어로 완전 삭제
sudo apt-get remove --purge mysql* -y && sudo apt autoremove -y
# 삭제 후, mysql 관련 패키지 남아있는지 확인
dpkg -l | grep mysql
# 확인 후, 삭제되지 않은 mysql 관련 파일 삭제
sudo apt-get remove --purge [파일명]
# 그 밖의 모든 것들 청소
sudo rm -rf /etc/mysql /var/lib/mysql &&
sudo apt-get autoremove mysql &&
sudo apt-get autoclean mysql
1. mysql 설치
# 패키지 최신화
sudo apt-get update &&
sudo apt-get dist-upgrade -y &&
sudo apt-get autoremove --purge -y &&
sudo apt-get clean
- update: 패키지 목록 최신화
- dist-upgrade: 종속성 고려하여 전체 업그레이드
- -y: 모든 확인을 자동으로 수락 (필요 시 생략)
# MySQL 서버 설치
sudo apt install mysql-server -y
# 설치시 의존성 문제 오류 >> 해결 방법
sudo apt --fix-broken install
# MySQL 시작, 부팅시 자동 실행 설정
sudo systemctl start mysql;
sudo systemctl enable mysql;
# msql 동작 상태 확인
systemctl status mysql

(참고) MySQL 정지 방법
sudo systemctl stop mysql;
2. mysql 보안 설정
# MySQL 보안 설정 실행
sudo mysql_secure_installation
질문 | 입력 | 입력 결과 설명 | |
1 | setup VALIDATE PASSWORD component? 비밀번호 검증 plugin 설치? |
n | 비밀번호 복잡도 검사 플러그인 설치 안함 |
2 | Remove anonymous users? 익명 사용자 삭제? |
n | 로컬 테스트용으로 익명 사용자 유지 |
3 | Disallow root login remotely? root 원격 로그인 금지? |
n | 원격 root 접속 허용 (보안상 위험, 서버용은 y 권장) |
4 | Remove test database and access to it? test DB 삭제? |
n | test DB 유지 (학습/개발용은 유지 가능) |
5 | Reload privilege tables now? 위 설정 즉시 반영 |
y | 권한 테이블 즉시 재적용 |
3. root 계정 설정
: [1]비밀번호 변경(1234)과 [2]로그인 인증 방식 변경
3.1 root 계정과 비밀번호로 접속하지 못하는 이유

MySQL의 ERROR 1698 (28000): Access denied for user 'root'@'localhost' 은 주로 Debian/Ubuntu 계열에서 기본적으로 root@localhost 계정이 비밀번호 대신 OS 사용자 인증(auth_socket) 으로만 로그인하도록 설정되어 있기 때문입니다.
3.2 sudo mysql로 접속
sudo mysql

- sudo는 root 권한을 얻고,
- MySQL이 root 사용자를 auth_socket으로 인증 중이라면,
- 비밀번호 없이도 root MySQL 계정에 로그인됩니다.
3.3 MySQL 사용자 테이블 확인
SELECT User, Host, plugin FROM mysql.user;

인증 방식 | 설명 |
auth_socket | 리눅스 유닉스 계정 기반 인증. sudo로만 접속 가능 Ubuntu(또는 Linux)의 로그인 사용자와 동일한 이름의 MySQL 사용자 계정으로 인증 리눅스 OS 사용자 인증을 통해 MySQL 로그인 (비밀번호 불필요) |
mysql_native_password | ID/PW로 인증. 다른 툴(DB관리도구)과 호환성 좋음 |
3.4 root 계정의 [1]비밀번호 변경(1234)과 [2]로그인 인증 방식 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
FLUSH PRIVILEGES;

- auth_socket → mysql_native_password로 변경
- 비밀번호 1234 로 변경
- 이제부터 mysql -u root -p로 접속 가능해짐
3.5 mysql 나가기
EXIT;
3.6 mysql root 계정과 비밀번호(1234)로 실행 테스트
mysql -u root -p
- MySQL 클라이언트를 실행하면서 root 사용자로 접속하는 명령

명령어 | 설명 |
mysql | MySQL 클라이언트 실행 |
-u root | 사용자 이름을 root로 지정 |
-p | 비밀번호 입력 방식 선택 |
4. MySQL WorkBench 설치
sudo snap install mysql-workbench-community