ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mysql USER 추가
    Linux/Tools 2015. 11. 21. 07:53

    1. user create
    <p>mysql> CREATE USER 'user'@localhost IDENTIFIED BY ??????;
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
    mysql> FLUSH PRIVILEGES;


    2. DB create
    mysql> create database testdbname;

    3. premition DB

    ALL PRIVILEGES - 모든데이터베이스에 대한 권한을 가지게 됨
    CREATE - 새로운 테이블 또는 데이터베이스를 생성할 수 있음
    DROP -테이블 또는 데이터 베이스를 삭제
    DELETE - 테이블 삭제
    INSERT - 테이블에 row 를 삽입가능
    SELECT - 데이터베이스의  select 명령문을 사용
    UPDATE - 테이블 row 수정
    ALTER - 테이블수정
    GRANT OPTION - 권한 설정

    mysql> GRANT [위의 권한 중 원하는 것을 ,로 구분] ON [데이터베이스].[테이블] TO [사용자아이디]@localhost;
     예
     mysql> grant select,create,insert,update,delete on wp_test.* to wpmaster@localhost;

    4. 권한 부여 확인
    mysql> SHOW GRANTS FOR ['사용자']@localhost;

    5.새로고침
    mysql> FLUSH PRIVILEGES;

    6. 삭제
    권한 삭제
    mysql> REVOKE [GRANT 와 같은 형식으로 권한 나열] ON [데이터베이스].[테이블] FROM [사용자아이디]@localhost;
    사용자 삭제
    mysql> DROP USER '사용자'@localhost;
     


    ▶ 사용자 추가할때 에러 발생

    ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

    해결방안

    ▶ mysql 버전이 높아지면서 보안관련 오류라고 한다. 사용자추가시 몇개의 필드를 추가한다.

    로컬접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('localhost','사용자명',password('비밀번호'),'','','');

    외부접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('%','사용자명',password('비밀번호'),'','','');


     

    < mysqladmin을 이용하여 root 암호 설정 >
    $ mysqladmin -u root -p password new-password

    < 접속 하기 >
    $ mysql -u root -p

    < Database 보기 >
    mysql> show databases;
    mysql> show tables; <- table 보기

    < Database 생성 >
    mysql> create database DB명;

    < Mysql에서 새로운 사용자 추가 >
    일단 root로 접속
    mysql> use mysql
    mysql> INSERT INTO user VALUES('%','mha',password('hanwith000'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');

    < 사용자에게 Database 권한 주기 >
    mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv)
         -> VALUES('%', 'DB명', '사용자', 'Y', 'Y', 'Y', 'Y','Y','Y');

    mysql> FLUSH PRIVILEGES; <- 바로 적용 하기

    INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv) VALUES('%', 'hdaasdb', 'mha', 'Y', 'Y', 'Y', 'Y','Y','Y');







     

    [출처] mysql user add|작성자 카카보이즈


Designed by Tistory.