일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 붕대 감기
- 오버로딩
- spring security 설정
- 프로그래머스
- 자바의정석
- 자바의 정석
- 혼공얄코
- hackerrank
- 중첩 break
- over()
- 오버라이딩
- 리눅스
- CPU
- contiune
- SQL Mapper
- spring security
- 티스토리챌린지
- 프로그래머스 붕대 감기
- 붕대 감기 자바
- 입출력
- 다형성
- continue 사용법
- 객체지향
- 캡슐화
- java
- 오블완
- 쿠키
- break 사용법
- 멀티프로세싱
- 멀티태스킹
- Today
- Total
쉽게 쉽게
리눅스로 DB 계정 생성 본문
1. 이슈
리눅스를 통해 마리아DB 계정과 테이블을 만들어 사용해야 하는 상황이었다.
그래서 사용했던 리눅스 명령어와 DB연동 시 나타났던 오류들을 정리해 봤다.
2. 마리아 DB 계정생성
먼저 마리아DB에 접속을 해야 한다.
보통 mysql -u root -p로 접속할 수 있다.
이때 발생할 수 있는 mysql 명령어 오류
계정생성을 위해 mysql -u root -p 명령어로 생성한 DB에 root계정으로 접속할 것이다.
이때 "Error - bash: mysql: command not found" 이런 오류가 나타난다면 명령어의 경로를 환경변수로 지정해주지 않아서 그렇다.
[ 해결방법 ]
1. 환경변수에 mysql 명령어를 추가하거나
2. 마리아 db가 설치되어 있는 /usr/local/mysql/bin로 이동 후 ./mysql -u root -p 이라는 명령어로 실행하면 된다
bin 폴더에는 mysql(또는 mariaDB) 명령어가 있기 때문에 직접 실행할 수 있다.
마리아DB에 접속 후 계정을 생성하면 된다.
DB가 없다면 DB도 생성하면 된다.
1. DB 확인
SHOW DATABASES;
2. DB 생성
CREATE DATABASE 데이터베이스명;
3. 계정 생성
CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';
4. 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '아이디'@'%';
--예시
grant all privileges on *.* to 'root'@'%' ;
--*.*는 모든 DB라는 뜻
--'%'는 모든 권한이라는 뜻
5. 새로고침
FLUSH PRIVILEGES;
3. 오류
마리아DB 계정생성 후 발생했던 오류에 대해 정리해 봤다.
[비밀번호 오류]
이제는 mysql(또는 mariaDB) -u 사용자 -p 비밀번호를 통해 만든 계정으로 접속하면 되지만
아래와 같은 오류가 발생할 수 있다.
1. ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO)
이는 사용자의 비밀번호가 없을 경우 나타나는 오류 문구
[해결 방법]
이를 해결하기 위해서는 비밀번호를 설정해주면 된다.
mysql(또는 mariaDB) -u 사용자 -p
Enter password : 비밀번호 입력
2. ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES)
사용자의 비밀번호가 틀렸을 경우 나타나는 오류 문구
[해결 방법]
이를 해결하기 위해서는 비밀번호를 변경해주면 된다.
use mysql
update user set password=password('비밀번호') where user='사용자'; // 비밀번호 변경
flush privileges; // 변경사항 적용(새로고침)
만약 비밀번호 변경 시
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
오류가 뜬다면, 이는 마리아DB 10.4 이후 버전에는 명령어 형태가 달라져서 그렇다.
SELECT VERSION(); 으로 버전을 확인해보고 아래와 같이 작성하면 변경이 될 것이다.
set password for 'root'@'localhost' = password('password');
4. 점검
마리아DB 및 계정이 잘 설정이 되었는지 확인하는 방법을 정리해 봤다.
1. 접근 가능한 계정 정보를 조회
MariaDB [(none)]> SELECT host, user, password FROM mysql.user
필자는 root 계정에 grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';처럼 실행했었다.
이 뜻은 root 계정에 모든 IP 접근을 허용한다는 뜻으로 %는 모두 접근이 가능하다는 것을 뜻한다.
2. mysql(mariadb) 프로세스가 실행 중인지 확인
# ps -ef | grep mysql
# ps -ef | grep mariadb 포트가 사용되고 있는지 확인(기본 포트 3306)
# netstat -ntap | grep LISTEN
# netstat -ntap | grep 3306 서비스 상태 확인
# service mariadb status
# service mysql status
# systemctl status mysql
# systemctl status mariadb
# systemctl restart mysql
# systemctl restart mariadb 마리아DB 재시작
잘못된 내용이 있다면 지적부탁드립니다. 방문해주셔서 감사합니다. |
'서버 > 리눅스' 카테고리의 다른 글
리눅스 서버시간 확인 및 변경 (1) | 2024.05.28 |
---|---|
리눅스 명령어 정리 (4) | 2024.03.17 |
리눅스 (1) | 2023.04.25 |