Minwook’s portfolio

mySQL 초기설정 본문

Troubleshooting

mySQL 초기설정

yiminwook 2022. 8. 26. 18:33

 

1. 설치방법(우분투)

$sudo apt-get update
$sudo apt-get install mysql-server

 

 

설치가 잘 되었는지 확인해보겠습니다.

$mysql --version

mysql  Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

이처럼 다음줄에 mysql 버전이 잘 출력된다면 성공적으로 설치된 것 입니다.

 

 

그럼 설치된 mysql에 접속해보겠습니다.

설치시 root 비밀번호를 설정하였다면 1번처럼,

설정하지 않았다면 2번처럼 sudo코드로 접속합니다.

1. $mysql -uroot -p
2. $sudo mysql -uroot

 

 

정상적으로 접속시 아래처럼 MySQL moniter가 출력됩니다.

이후 명령어 입력시 항상 문장끝에 ;(세미콜론)을 붙여야합니다. 

moniter를 종료하고 싶을때는 exit를 입력합니다.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 8.0.30-0ubuntu0.20.04.2 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 


 

2. 초기 root 비밀번호 / 플러그인 설정

 

초기 비밀번호를 설정하지 않았다면 비밀번호를 설정하도록 하겠습니다.

*비밀번호를 설정할시 후에 sudo를 써서 관리자 권한을 획득하지 않아도

root 계정에 접속 할 수 있습니다.

 

먼저 mysql에 등록된 계정 세부사항(host, plugin)을 조회합니다

mysql> use mysql;                           //MYSQL의 정보가 있는 mysql db를 선택
mysql> SELECT user, host, plugin FROM user; //user table의 user, host, plugin을 조회

 

 

위 코드를 입력한다면 아래처럼 출력됩니다.

+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password | //auth_socket으로 나올수도 있습니다.
+------------------+-----------+-----------------------+

 

 

아래코드를 통해  root 계정의 비밀번호를 바꿔줄 수 있습니다.

plugin을 바꿔주고 싶다면 2처럼 입력합니다.

1. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호를입력';
2. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH /*plugin*/ BY '비밀번호를입력';

//ex ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

다음줄에 query ok가 출력된다면 정상적으로 코드가 반영된 것 입니다.

 


 

3. 계정생성 및 권한부여

 

root계정은 관리자 계정입니다. 이번에는 root계정 외의 계정을 생성해 다뤄보도록 하겠습니다. 

코드는 아래와 같습니다.

mysql> CREATE USER 'user1'@'localhost' IDENTIFIED BY '비밀번호로바꿔주세요';

만들어진계정은 mysql 데이터베이스의 user table에서 조회가 가능합니다.

 

 

만든계정의 비밀번호를 바꾸고 싶은 경우에는 아래처럼 입력합니다.

mysql> ALTER USER 'user1'@'localhost' IDENTIFIED BY '변경할비밀번호';

 

 

계정에 모든 데이터베이스에 대한 권한을 부여하고 싶을때는 아래와 같이 입력합니다.

mysql> grant all privileges on *.* to user1@localhost;

 

 

아래 코드로 생성된 계정의 권한을 조회 할 수 있습니다.

mysql> show grants for user1@localhost;

 

 

 

 


 

 

참고

https://www.lesstif.com/dbms/mysql-error-1698-28000-89555999.html

Comments