본문 바로가기
데이터베이스/Mysql

mysql 계정설정및 접속방법팁

by cbwstar 2021. 9. 10.
728x90
반응형

mysql root 비밀번호 초기화 방법

 

1. mysql 기동을 종료 시킨후에 mysqld --skip-grant

2. mysql -uroot

3. use mysql

4. update user set password=password('1234') where user='root';

5. flush privileges;

 

root 계정에 권한부여

6. GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;

7. flush privileges;

8. exit

 

서비스 재기동후

mysql root 계정 접속

9. mysql -u root -p 를 입력후 Enter

   password: 에서 비밀번호 입력후 가동

 

 

데이타베이스 생성

root 계정으로 접속

 

1. create database siso;

 

확인

show databases;

 

2. 만든db에 접속할 계정과 패스워드를 만든다.

 

grant all privileges on siso.* to 'siso'@localhost identified by 'siso';

 

3. db접속후 테이블 생성

 use siso;

 

4. 테이블 생성

create table test(lgn_id varchar(40),

             pass varchar(50),

             memo varchar(100),

             reg_date date,

             mem_cnt int

  );

 

5. desc test;  테이블 정보 확인

 

6. 새로 만든 계정으로 데이터베이스 접속후  생성한 테이블을 확인 해 봅시다.

 

1) cmd창을 호출합니다.

 

2) mysql -u 계정 -p 데이터베이스

 

   비밀번호입력

  

   mysql -u siso -p siso

   비밀번호 : siso

 

 

insert into test (lgn_id,pass,memo,reg_date,mem_cnt)

        values ('aaa','pass','memo',sysdate(),1);

 

insert into test (lgn_id,pass,memo,reg_date,mem_cnt)

        values ('아이디','비밀번호','memo',sysdate(),1);

 

 

7. 데이타베이스 삭제

drop database 데이터베이스이름;

 

========================================

사용자 추가는 2가지 방법이 있습니다.

 

사용자를 추가하기 위해서는 'root' 계정으로 로그인 하여야 하구요. 아래 2가지 방법?으로 사용자를 추가 할 수 있습니다.

 

1) GRANT 명령을 통한 추가 (한방에 추가(명령 한번으로 사용자를 추가))

 

   GRANT ALL PRIVILEGES ON 접근 허용 할 DB 이름.* TO 'new_user_id'@'%' IDENTIFIED BY 'new_user_password' WITH GRANT OPTION;

 

   모든 테이블에 접근 하기위해서는  접근 허용 할 DB 이름.*  ==> *.*

   'new_user_id'@'%' 에서 '%'의 의미는 신규 계정이 접속할 위치의 제한을 두지 않겠다는 의미.

   ) 'new_user_id'@'localhost' localhost 로 접속을 하였을 경우만 허용

         'new_user_id'@'127.0.0.1' 127.0.0.1 로 접속 하였을 경우만 허용

         'new_user_id'@'192.168.0.100' '192.168.0.100' 에서만 접속 허용.

 

2) 직접 사용자 테이블에 등록. (두방에...(두 단계에 걸쳐 사용자를 추가))

    이 방법은 '사용자 ID'가 저장되어 있는 테이블에 직접 추가해 주는 방법 입니다.

 

MySql은 사용자 정보를 'MySQL.User' 테이블에서 관리되고 있습니다. 따라서 추가시에도 'MySql.User 테이블에 신규 계정을 등록 하면 됩니다.

로그인 후 'MySql' 테이블로 이동 하세요.

 

use mysql;

insert into user (host, user, password) values ('%', 'test', password('1234'));

mysql의 경우 사용자 패스워드를 'MD5'형태의 암호화 처리하여 관리하기 때문에 직접 테이블에 저장 시에는 'password()' 함수를 통해 패스워드를 MD5로 암호화 시켜 저장하여야 합니다.

select host, user, password from user;

 

신규 추가된 ID를 확인 할 수 있습니다.

사용자 계정 추가 후 'DB' 테이블에 사용할 데이터베이스 접근 권한을 추가 하여야 합니다.

GRANT ALL ON testdb.* to test_user@'%'  >> 와 같이 'Grant' 명령을 통해 해당 DBase 에 뭐든 권한을 줄 수도 있고 또는 아래와 같이 접근 권한 Dbase 에 직접 등록을

통해 각각의 기능을 제한 할 수 있다.

 

'DB' 테이블의 'host, User' 컬럼은 사용자 추가 시에 등록한 사용자 정보를 동일하게 입력 하고 'Db' 컬럼에는 접근 가능한 데이터베이스 이름을 기록합니다.

 나머지 컬럼은 권한 설정 컬럼으로 'Y/N' 입력 함으로써 설정이 가능 합니다.

 

사용자 삭제 시에는 테이블에서 삭제를 하면 됩니다.

delete from user where user = 'test';

delete from db where user = 'test';

 

변경 후에는 꼭 아래 명령을 통해 적용 시키거나 서비스를 다시 시작 하여야 합니다.

==> Flush Privileges

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading