MySQL 사용자 추가 및 데이터베이스 추가
페이지 정보
본문
mysql> use mysql;
mysql> create database 디비명;
## DB 생성하기
mysql> insert into db (host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv, references_priv, index_priv, alter_priv) values ('localhost', '디비명', '디비아이디', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
사용하시려는 권한에 따라 해당 기능에 대한 부여권한은 달라질 수 있습니다.
일반적으로 특별한 기능을 필요로 하지 않는 한도 내에서는 아래와 같은 권한만 포함이 되면 됩니다.
자세한 사항은 MySQL 매뉴얼을 참고 (조회 기능 제공)
- http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&lang=k
- select, insert, update, delete, create, drop, index
## 사용자추가 (방법1)
mysql> insert into user (host, user, password) values ('localhost', '아이디' ,password('비밀번호'));
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
mysql> insert into user (host, user, authentication_string) values ('localhost', '아이디' ,password('비밀번호'));
## 사용자추가 (방법2) 기존 암호형식으로
mysql> insert into user (host, user, password) values ('localhost', '아이디' , password=old_password('비밀번호'));
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
mysql> insert into user (host, user, authentication_string) values ('localhost', '아이디' , password=old_password('비밀번호'));
## mysql 다시 시작
/usr/local/mysql/bin/mysqladmin -uroot -p비밀번호 reload
## 기존 암호형식으로 비밀번호 저장하기
mysql 4.1 이후에는 비밀번호 암호화가 변경되었으므로 아래의 명령어를 한번 실행
mysql> update user set password=old_password('새 비밀번호') WHERE user = 'root';
전체 테이블 보기
--데이터베이스설정 use문
use mysql;--시스템테이블 접근하기위해
--전체테이블보기
show tables;
-- 테이블 구조보기
describe user;--user테이블 구조 보기
grant 테이블
-- user
user테이블에 정리된 권한은 전역값이라서 이 시스템의 모든 데이터베이스에 적용된다.(mysql포함)
-- db
사용자가 어떤 호스트에서 어떤 데이터베이스로 접근할 수 있는지 결정, 이 테이블에 정리된 권한은 특정 행에 올라와 있는 모든 데이터베이스에 적용된다.(DDL,DML,DCL등의 권한)
-- host
user와 db테이블을 보완하는 기능을 한다. 사용자가 여러 호스트에서 데이터베이스에 접속하려면 user나 db테이블에 호스트를 등록하지 않고 그 대신에 host테이블에 각각의 사용자-호스트 조합에 대한 권한을 명시할 수 있다.
-- table_priv, columns_priv 테이블
테이블 수준의 권한과 열 수준의 권한을 지정한다. 이들은 db 테이블과 비슷하게 동작하지만 특정 데이터베이스에 있는 테이블에 대한, 특별 테이블에 있는 열에 대한 권한만을 준다.
-- grant 문으로 권한변경시
flush privileges; 명령어를 실행해야 권한이 변경된 사실을 mysql에 알린다.
show로 정보얻기
--전체테이블보기
show tables;
--사용할수 있는 데이터베이스보기
show database;
--테이블 열 보기(books테이블)
show columns from books;
--해당 계정의 세부적인 권한을 보여준다.
show grants for 계정명;
--지정한 테이블에 속한 인덱스를 나열한다.
show index from 테이블;
--시스템 아이템의 수에 대한 정보를 얻는다.
show status;
ex) show status like variable_name
--시스템 변수 보기(mysql 버전같은것을 알수있다.)
show global variables;
show session variables;
--db에 접속한 세션 리스트
show processlist
--각 테이블에 대한 정보 보여주기
show table status
--user가 가진 권한을 설정하기 위한 grant 문을 보여준다.
show grants for user
--서버가 지원하는 다른 권한을 보여준다.
show privileges
--데이터베이스를 생성할수 있는 create database문을 보여준다.
show create database db
--테이블을 생성할수 있는 create table 문을 보여준다.
show create table 테이블명
--사용할수있는 테이블형을 보여주고 어떤것이 기본값인지 알려준다.
show engines;
--innodb저장엔진의 현재 상황에 대한 데이터를 보여준다.
show innodb status
--bdb 저장 엔진에 대한 로그 파일에 대한 정보를 보여준다.
show logs
--마지막 쿼리가 실행되었을때 생긴 에러,경고,주의를 보여준다.
show warnings
--마지막 쿼리가 실행되었을때 생긴 에러를 보여준다.
show errors
실행계획보기
쿼리문 앞에 EXPLAIN을 붙인다.
MySQL ver. 5.0.21 윈도우즈 셋업 파일용.
$Mysql_home/bin/mysql -u root -p
enter the password : *******
Mysql>
# 데이터베이스 생성
Mysql> use mysql;
Mysql> create database databeseName;
# 사용자 계정 추가
Mysql> Grant ALL ON <DATABASE 명 혹은 테이블명> TO <사용자명>@<호스트명> IDENTIFIED BY '비밀번호';
# 데이터베이스 권한 설정
Mysql> insert into db values('%','디비이름','UserName',
->'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
--> desc db; 하여 컬럼의 갯수 확인 후 'Y'옵션 지정 함...ㅡㅡㅋ
Mysql> insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
VALUES('localhost', 'happyjung', PASSWORD('1234'),
'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);
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
Mysql> insert into mysql.user (Host, User, authentication_string, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
VALUES('localhost', 'happyjung', PASSWORD('1234'),
'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);
Mysql> flush privileges;
<< 자료인용 >>
http://blog.naver.com/netfron/140034841987
http://blog.naver.com/miojj04?Redirect=Log&logNo=100034315177
mysql> create database 디비명;
## DB 생성하기
mysql> insert into db (host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv, references_priv, index_priv, alter_priv) values ('localhost', '디비명', '디비아이디', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
사용하시려는 권한에 따라 해당 기능에 대한 부여권한은 달라질 수 있습니다.
일반적으로 특별한 기능을 필요로 하지 않는 한도 내에서는 아래와 같은 권한만 포함이 되면 됩니다.
자세한 사항은 MySQL 매뉴얼을 참고 (조회 기능 제공)
- http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&lang=k
- select, insert, update, delete, create, drop, index
## 사용자추가 (방법1)
mysql> insert into user (host, user, password) values ('localhost', '아이디' ,password('비밀번호'));
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
mysql> insert into user (host, user, authentication_string) values ('localhost', '아이디' ,password('비밀번호'));
## 사용자추가 (방법2) 기존 암호형식으로
mysql> insert into user (host, user, password) values ('localhost', '아이디' , password=old_password('비밀번호'));
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
mysql> insert into user (host, user, authentication_string) values ('localhost', '아이디' , password=old_password('비밀번호'));
## mysql 다시 시작
/usr/local/mysql/bin/mysqladmin -uroot -p비밀번호 reload
## 기존 암호형식으로 비밀번호 저장하기
mysql 4.1 이후에는 비밀번호 암호화가 변경되었으므로 아래의 명령어를 한번 실행
mysql> update user set password=old_password('새 비밀번호') WHERE user = 'root';
전체 테이블 보기
--데이터베이스설정 use문
use mysql;--시스템테이블 접근하기위해
--전체테이블보기
show tables;
-- 테이블 구조보기
describe user;--user테이블 구조 보기
grant 테이블
-- user
user테이블에 정리된 권한은 전역값이라서 이 시스템의 모든 데이터베이스에 적용된다.(mysql포함)
-- db
사용자가 어떤 호스트에서 어떤 데이터베이스로 접근할 수 있는지 결정, 이 테이블에 정리된 권한은 특정 행에 올라와 있는 모든 데이터베이스에 적용된다.(DDL,DML,DCL등의 권한)
-- host
user와 db테이블을 보완하는 기능을 한다. 사용자가 여러 호스트에서 데이터베이스에 접속하려면 user나 db테이블에 호스트를 등록하지 않고 그 대신에 host테이블에 각각의 사용자-호스트 조합에 대한 권한을 명시할 수 있다.
-- table_priv, columns_priv 테이블
테이블 수준의 권한과 열 수준의 권한을 지정한다. 이들은 db 테이블과 비슷하게 동작하지만 특정 데이터베이스에 있는 테이블에 대한, 특별 테이블에 있는 열에 대한 권한만을 준다.
-- grant 문으로 권한변경시
flush privileges; 명령어를 실행해야 권한이 변경된 사실을 mysql에 알린다.
show로 정보얻기
--전체테이블보기
show tables;
--사용할수 있는 데이터베이스보기
show database;
--테이블 열 보기(books테이블)
show columns from books;
--해당 계정의 세부적인 권한을 보여준다.
show grants for 계정명;
--지정한 테이블에 속한 인덱스를 나열한다.
show index from 테이블;
--시스템 아이템의 수에 대한 정보를 얻는다.
show status;
ex) show status like variable_name
--시스템 변수 보기(mysql 버전같은것을 알수있다.)
show global variables;
show session variables;
--db에 접속한 세션 리스트
show processlist
--각 테이블에 대한 정보 보여주기
show table status
--user가 가진 권한을 설정하기 위한 grant 문을 보여준다.
show grants for user
--서버가 지원하는 다른 권한을 보여준다.
show privileges
--데이터베이스를 생성할수 있는 create database문을 보여준다.
show create database db
--테이블을 생성할수 있는 create table 문을 보여준다.
show create table 테이블명
--사용할수있는 테이블형을 보여주고 어떤것이 기본값인지 알려준다.
show engines;
--innodb저장엔진의 현재 상황에 대한 데이터를 보여준다.
show innodb status
--bdb 저장 엔진에 대한 로그 파일에 대한 정보를 보여준다.
show logs
--마지막 쿼리가 실행되었을때 생긴 에러,경고,주의를 보여준다.
show warnings
--마지막 쿼리가 실행되었을때 생긴 에러를 보여준다.
show errors
실행계획보기
쿼리문 앞에 EXPLAIN을 붙인다.
MySQL ver. 5.0.21 윈도우즈 셋업 파일용.
$Mysql_home/bin/mysql -u root -p
enter the password : *******
Mysql>
# 데이터베이스 생성
Mysql> use mysql;
Mysql> create database databeseName;
# 사용자 계정 추가
Mysql> Grant ALL ON <DATABASE 명 혹은 테이블명> TO <사용자명>@<호스트명> IDENTIFIED BY '비밀번호';
# 데이터베이스 권한 설정
Mysql> insert into db values('%','디비이름','UserName',
->'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
--> desc db; 하여 컬럼의 갯수 확인 후 'Y'옵션 지정 함...ㅡㅡㅋ
Mysql> insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
VALUES('localhost', 'happyjung', PASSWORD('1234'),
'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);
[ mysql 5.7 에서 password 가 authentication_string 로 변경 ]
Mysql> insert into mysql.user (Host, User, authentication_string, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
VALUES('localhost', 'happyjung', PASSWORD('1234'),
'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);
Mysql> flush privileges;
<< 자료인용 >>
http://blog.naver.com/netfron/140034841987
http://blog.naver.com/miojj04?Redirect=Log&logNo=100034315177
댓글목록
등록된 댓글이 없습니다.