Categories
MySQL

MySQL ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ 에러 해결

1. 증상

MySQL 서버를 삭제했다가 재설치했다.

“sudo mysql” 명령으로 MySQL 서버에 로그인하려고 하면 에러가 발생한다.

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

2. 문제의 원인

“/var/lib/mysql” 디렉토리가 문제의 원인이다.

sudo ls /var/lib/mysql


이 디렉토리에는 이전에 설치했던 MySQL 서버의 사용자 및 암호 정보가 그대로 저장되어 있다.

3. MySQL 재설치 및 디렉토리 삭제

MySQL 서버를 언인스톨 (uninstall) 한다.

sudo apt purge –autoremove mysql-server

“/var/lib/mysql” 디렉토리를 삭제한다.

sudo rm -r /var/lib/mysql

MySQL 서버를 다시 설치한다.

sudo apt install mysql-server

4. 결과 확인

MySQL 서버에 로그인한다.

sudo mysql

Categories
MySQL

우분투 (Ubuntu) 서버에 phpMyAdmin 설치하기

1. phpmyadmin 패키지 설치

패키지 매니저의 캐시 (cache) 를 업데이트한다.

sudo apt update

phpMyAdmin 을 설치한다.

sudo apt install phpmyadmin

2. phpMyAdmin 기본 설정

설치 중에 3 개의 설정 대화상자가 나타나게 된다.

1 번째 대화상자에서 “apache2” 를 선택한다.

“<Ok>” 를 선택하고 엔터키를 누른다.

2 번째 대화상자에서 “<Yes>” 를 선택하고 엔터키를 누른다.


3 번째 대화상자에서는 phpMyAdmin 암호를 입력한다. 입력하지 않으면 랜덤 (random) 암호가 자동으로 생성된다.

“<Ok>” 를 선택하고 엔터키를 누른다.

3. 아파치 재시작하기

아파치 웹서버를 재시작한다.

sudo systemctl restart apache2.service

4. phpMyAdmin 실행하기

웹브라우저 주소창에 아래 주소를 입력하고 엔터키를 누른다.

http://192.168.0.7/phpmyadmin/

여기서 “192.168.0.7” 은 아파치가 실행되는 서버의 IP 주소이다.

MySQL 의 루트 (root) 계정과 암호를 입력한다.


“실행” 을 클릭한다.

phpMyAdmin 의 대시보드 (dashboard) 페이지가 열리는 것을 확인한다.

Categories
MySQL

우분투에서 MySQL 서버 설치 및 루트 (root) 계정 암호 설정

1. MySQL 서버 설치하기

패키지 정보 데이터베이스를 업데이트한다.

sudo apt update

우분투에서 MySQL 서버의 패키지 이름은 mysql-server 이다. mysql-server 패키지를 설치한다.

sudo apt install mysql-server

2. 루트 계정의 암호 설정하기

mysql 명령으로 MySQL 서버에 접속한다.

sudo mysql

다음 명령으로 MySQL 루트 (root) 계정에 암호를 설정한다.

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘abcd1234’;

exit 명령으로 MySQL 서버에서 로그아웃한다.

mysql> exit;

Categories
MySQL

MySQL 에서 데이터베이스의 모든 테이블을 한번에 삭제하는 방법

MySQL 에서 데이터베이스의 모든 테이블을 한번에 삭제하는 방법을 알아보자.

1. DROP DATABASE 문

DROP DATABASE 문 (statement) 은 데이터베이스를 삭제하는 문장이다.

데이터베이스를 삭제하면 그 안의 테이블이 모두 삭제되므로 테이블 삭제를 위해 DROP DATABASE 문을 사용한다.

2. 데이터베이스의 모든 테이블 삭제하기

데이터베이스를 삭제한다.

mysql> DROP DATABASE sample_db;

삭제한 데이터베이스와 동일한 이름의 데이터베이스를 생성한다.

mysql> CREATE DATABASE sample_db;