SQL/MySQL
MySQL 설치후 가장먼저 해야할일
efrit
2007. 3. 15. 22:05
MySQL root에 비밀번호 부여하기
#./bin/mysql mysql
mysql> update user set password=password('사용할 비번') where user='root';
mysql> flush privileges;
mysql> quit
#./bin/mysql -u root -p mysql
Enter Password : **********
mysql>
-----> OK!!
리눅스에서 root 유저라고 해서 MySQL 에서 root 권한을 받는것은 아니다.
처음에 사용자 계정과 패스워드를 넣지 않았을 경우
익명의 사용자(anonymous)로 접속이 가능하므로 반드시
MySQL 를 설치했을 경우에는 root 의 비밀번호를 정해야 한다.
ex) root 권한을 주지 않았을경우
#./bin/mysql
#./bin/mysql mysql
=> 2가지 형식으로만 접속이 가능하다.
password 부여시 password() 를 사용하지 않으면 다음에 제대로 접속 할 수 없다.
root 접속
#./bin/mysql -u root -p mysql
Enter password : **********
mysql>
MySQL 설치후 기본적으로 설치되는 데이터베이스는 2개가 존재한다.
mysql(중요)
test
mysql 데이터베이스에는 root 비번이나 사용자 계정/권한정보등이 저장.
mysql 데이터베이스에는 여러개의 테이블이 존재하지만 일반적으로 db,user테이블을 많이 쓴다.
mysql>show databases;
MySQL -> 대문자 => 서버
mysql -> 소문자 => 데이터베이스
mysql>use mysql; =>mysql 데이터베이스를 사용하겠다는 의미
MySQL 서버안에 mysql 데이터베이스에는 5개의 테이블이 존재하고 그 계정에 대해서 데이터 베이스를 부여하려면 반드시 5개의 테이블안에 정보를 입력해야 한다.
=>데이터베이스와 사용자와의 관계를 설정하려면 db테이블과 user 테이블을 알아야한다.
db 테이블 : 일반사용자 계정등록
user 테이블 : 일반사용자에게 특정 데이터베이스 권한 부여하기
mysql>use mysql;
mysql>desc db;
일반 사용자 생성및 데이터베이스 권한주기
예제) "aaa"라는 데이터베이스를 만들고 "blueji78" 이란 계정을 만들며, "blueji78"이 "aaa"데이터 베이스를 사용할 수 있도록 권한을 부여하기
=>insert into 문으로 user 테이블에 사용자 : blueji78 비번 : 1234 를 넣으며 권한은 주지않는다.
왜?......... User 테이블에 권한을 줄경우 root 권한을 갖게 되므로 주지 않는다.
기본권한이 N(No)이기 때문에 주지 않아도 된다.
User 테이블에 blueji78 이라는 계정을 만들고 비밀번호(1234) 부여하기
mysql> insert into user (host,user,password) values ('localhost','blueji78',password('1234'));
=>비밀번호는 password()함수를 써서 저장한다.(그냥 저장해도 상관은 없다.)
mysql> select host,user,password from user;
"blueji78"이라는 사용자에게 "aaa"데이터베이스 권한 부여하기
mysql> insert into db values ('localhost','aaa','blueji78','y','y','y','y','y','y','y','y','y','y','y','y');
mysql> flush privileges;
권한을 부여한후 "flush privileges;"로 권한을 새로 읽어오지 않으면 제대로 동작하지 않는다.
"blueji78" 이라는 계정으로 "aaa" 데이터베이스 접속하기
# mysql -u blueji78 -p aaa
Enter password : ****
mysql>
#./bin/mysql mysql
mysql> update user set password=password('사용할 비번') where user='root';
mysql> flush privileges;
mysql> quit
#./bin/mysql -u root -p mysql
Enter Password : **********
mysql>
-----> OK!!
리눅스에서 root 유저라고 해서 MySQL 에서 root 권한을 받는것은 아니다.
처음에 사용자 계정과 패스워드를 넣지 않았을 경우
익명의 사용자(anonymous)로 접속이 가능하므로 반드시
MySQL 를 설치했을 경우에는 root 의 비밀번호를 정해야 한다.
ex) root 권한을 주지 않았을경우
#./bin/mysql
#./bin/mysql mysql
=> 2가지 형식으로만 접속이 가능하다.
password 부여시 password() 를 사용하지 않으면 다음에 제대로 접속 할 수 없다.
root 접속
#./bin/mysql -u root -p mysql
Enter password : **********
mysql>
MySQL 설치후 기본적으로 설치되는 데이터베이스는 2개가 존재한다.
mysql(중요)
test
mysql 데이터베이스에는 root 비번이나 사용자 계정/권한정보등이 저장.
mysql 데이터베이스에는 여러개의 테이블이 존재하지만 일반적으로 db,user테이블을 많이 쓴다.
mysql>show databases;
MySQL -> 대문자 => 서버
mysql -> 소문자 => 데이터베이스
mysql>use mysql; =>mysql 데이터베이스를 사용하겠다는 의미
MySQL 서버안에 mysql 데이터베이스에는 5개의 테이블이 존재하고 그 계정에 대해서 데이터 베이스를 부여하려면 반드시 5개의 테이블안에 정보를 입력해야 한다.
=>데이터베이스와 사용자와의 관계를 설정하려면 db테이블과 user 테이블을 알아야한다.
db 테이블 : 일반사용자 계정등록
user 테이블 : 일반사용자에게 특정 데이터베이스 권한 부여하기
mysql>use mysql;
mysql>desc db;
일반 사용자 생성및 데이터베이스 권한주기
예제) "aaa"라는 데이터베이스를 만들고 "blueji78" 이란 계정을 만들며, "blueji78"이 "aaa"데이터 베이스를 사용할 수 있도록 권한을 부여하기
=>insert into 문으로 user 테이블에 사용자 : blueji78 비번 : 1234 를 넣으며 권한은 주지않는다.
왜?......... User 테이블에 권한을 줄경우 root 권한을 갖게 되므로 주지 않는다.
기본권한이 N(No)이기 때문에 주지 않아도 된다.
User 테이블에 blueji78 이라는 계정을 만들고 비밀번호(1234) 부여하기
mysql> insert into user (host,user,password) values ('localhost','blueji78',password('1234'));
=>비밀번호는 password()함수를 써서 저장한다.(그냥 저장해도 상관은 없다.)
mysql> select host,user,password from user;
"blueji78"이라는 사용자에게 "aaa"데이터베이스 권한 부여하기
mysql> insert into db values ('localhost','aaa','blueji78','y','y','y','y','y','y','y','y','y','y','y','y');
mysql> flush privileges;
권한을 부여한후 "flush privileges;"로 권한을 새로 읽어오지 않으면 제대로 동작하지 않는다.
"blueji78" 이라는 계정으로 "aaa" 데이터베이스 접속하기
# mysql -u blueji78 -p aaa
Enter password : ****
mysql>