본문 바로가기

Ubuntu/Install

Mysql USER 추가

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|작성자 카카보이즈