- 우분투에서 mysql 접속하기
shell> mysql -uroot -p
(패스워드 넣으라고 나옴)
- 데이터베이스 보기
mysql> show databases;
(데이터베이스 목록을 보여줌)
- 데이터베이스 만들기
mysql> create database 사용할 데이터베이스 이름;
[예제] create database testdb;
-DB생성시 한글 가능하게 만들기
mysql> create database 만들디비명 default character set utf8;
- 특정 데이터베이스 사용하기
mysql> use 사용할 데이터베이스 명
[예제] use testdb
(이것이 귀찮으면 mysql에 접속하면서 mysql -u유저아이디 -p유저패스워드 DB명 이렇게 입력하면 됨.)
- 테이블 보기
mysql> show tables;
- 테이블 만들기
mysql> create table testtable(
-> id int,
-> name char(10)
-> );
Query OK, 0 rows affected (0.02 sec)
[예제]
mysql> create table guestbook(
-> id int(11) DEFAULT '0' NOT NULL auto_increment,
.......
-> );
위와 같이 사용하면 에러가 발생함.
검색해보니 DEFAULT와 auto_increment 를 같이 사용할 수 없다고 함.
-> id int(11) auto_increment, 이렇게 DEFAULT 부분을 빼면 잘됨.
- 테이블 생김새 보기
mysql> desc testtable;
- 테이블의 내용 보기
mysql> select * from testtable;
- 테이블에 데이터 추가
mysql> insert into testtable values (1, 'brown');
- mysql 끝내기
mysql> quit 혹은 ctrl + d
- mysql 사용자 확인
mysql> select user, host from mysql.user;
-mysql 사용자 등록
mysql> create user 사용할유저명@'%' identified by '사용할 패스워드';
('%' 와 '패스워드'에서는 꼭 ' '를 넣어줍니다. %는 외부에서 접근을 허용한다는 것입니다.
특정 IP나 DNS에 등록된 명칭으로 지정하면 그곳에서만 접근가능)
-mysql 데이터베이스에 권한 부여(mysql을 root로 접속해야 가능한 것 같음)
mysql> grant all privileges on 데이터베이스명.* to '사용할유저명'@'%';
* mysql 사용자 등록 및 권한 부여가 기존방식이 안된다. 이유가 php버전이 php5 여서 일까?
사용하는 php 버전 확인 방법은 아래와 같다.
shell> php -i | grep "PHP Version"
* 새로운 데이터베이스를 생성하거나 새로운 사용자를 생성한 후에는 반드시 reloae 적용
shell> mysqladmin -uroot -p reload
* 특정 유저를 특정데이터베이스에 권한 설정을 했다면 mysql 접속시
shell> mysql -u유저명 -p
show databases; 로 조회해보면 해당 데이터베이스만 뜨는 것을 알 수 있다.
* mysql 작동 테스트
shell> sudo netstat -atp | grep mysqld
(mysqld 대신 apache2를 입력하면 apache 작동 테스트임)
최근 덧글