티스토리 뷰
mySQL설치를 위한 내용은 생략. (대략 다운로드 후에 --prefix 같은 명령어로 폴더를 지정해주며, 컴파일이 필요함, 지지고볶고..)
사실 포맷하면서 주 사용 용도를 서버용도에 체크를 하고, 옵션에서 mySQL설치에 체크하여 기본적으로 설치를 했을테고
또 굳이 거기서 체크를 하지않을 이유도 없고...하여 설치확인만 간단히 짚어본후에 기본 실행을 알아보자.
1. 설치확인
[root@localhot]# rpm -q mysql
mysql -5.0.77-4.el5_6.6
버전이뜬다..
# whereis mysql 해보면
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
저렇게 폴더에 다 들어있고..
2. mySQL의 기본 (눈으로만)
"mysql" 명령어를 실행하여 "mysql>" 쉘을 띄운뒤
mysql> show databases;
(만약 암호가 설정되어 있다면) # mysql -u root -p
과 같이 ;(세미콜론)을 반드시 포함하여 명령하며, 종료 할 때에는
mysql> quit
Bye
로 빠져나가는것 까지가 기본이다.
......라고 하지만 습관적으로 아래와 같은 실수가 잦은편이다.
mysql> ls 와 같이 습관적으로 List같은 리눅스 명령어를 적으면
-> 이렇게만 뜨고 아무 반응이 없다..
-> quit 를 쳐도 먹통.
-> ; 그럴땐 종료 세미콜론을 쳐서 일부터 문법오류를 내면
ERROR 1064 (42000) : You have an error in yout SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near'ls quit' at line 1
mysql>
이렇게 다시 쉘로 돌아옴 -_-..
mysql> quit 냅다 종료!
3. mySQL 접속하기
자 그럼 mysql을 root 유저의 password를 부여하여 실행해보자.
원래 데이터베이스 접속 명령은 아래와 같으나
# mysql -u 사용자명 -p 데이터베이스이름 ex)# mysql -u home -p homedata
최초에 설치 직후 접속은 password가 없으니 아래처럼 입력한다.
# mysql -u root mysql
can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
와 같은 에러를 만나게 될 것이다.
mySQL은 설치만 하면 끝나는 것이 아니라 데몬을 활성화 시켜 주어야 한다.
에러에 보이는 mysql.sock파일은 mysql데몬이 활성화 되야 /var/lib/mysql 경로에 소켓이 생성된다.
그럼 아래의 명령어인 sql데몬 명령어를 실행!
# service mysqld start
Timeout error occurred trying to start MySQL Daemon.
이라는 에러가 뜬다 -_-;;
에러 log를(기록)을 확인하려면
/var/log/mysqld.log
mysqld started
[Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
[Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
mysqld ended
이렇게 정확히 알 수 있다.
자, 위 두개의 에러(접속, 데몬)를 위해 선행되어야 할 작업은
# /usr/bin/mysql_install_db --user=mysql
으로 mysql 권한 테이블을 생성 해준뒤, sql데몬을 스타트시킨다.
# service mysqld start
MySQL (을)를 시작 중 : [ OK ]
mySQL구동에 성공. 이제 mySQL에 비밀번호를 부여하자.
4. mySQL 비밀번호 부여
root계정에 암호가 지정 되어있지 않으므로 암호를 부여한다.
암호를 부여하는 방법은 3가지 정도가 있다.
1. mysqladmin이용.
$ mysqladmin -u root password 새비밀번호
2. mysql에 접속하여 sql의 쉘에서 update문 이용.
$ mysql -u root mysql
mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root';
mysql> FLUSH PRIVILEGES;
3. Set Password 이용.
$ mysql -u root mysql
mysql> SET PASSWORD FOR root=password('새비밀번호');
이렇게 비밀번호가 설정되면, 반드시 -p 옵션을 넣어주고 연결해야한다.
# mysql -p (같은표현 # mysql -u root -p)
Enter password:
Welcom to the MySQL monitor. Commands end with ; or \g.
Yout MySQL connection id is 17
Server version: 5.0.77 Source distribution
Type 'help;' or '\n' for help. Type '\c' to clear the buffer.
mysql>
4-2. 비밀번호를 까먹었을때 (뜨아..)
1. 일단 mysql 정지.
[root@localhost ~]# service mysqld stop
Stopping MySQL: [ OK ]
2. mysqld_safe 실행
위치 확인
/usr/bin/mysqld_safe
실행 : 로컬에서는 별도 인증 없이 mysql의 root 권한을 사용가능하게 한다. 비번없이 그냥 접속된다는 뜻.
[root@localhost ~]# /usr/bin/mysqld_safe --skip-grant &
[1] 32055
Starting mysqld daemon with databases from /var/lib/mysql
이제 비밀번호 없이 접속할 수 있게되었다. 다음으로 접속 해 보자.
# /usr/bin/mysql -u root mysql
mySQL에서는 다음 SQL 명령어를 입력하여 원하는 패스워드로 변경한다.
mysql> update user set password=password('패스워드') where user='root';
mysql> flush privileges;
mysql> quit
종료후 쉘로 돌아오면 패스워드를 입력해야만 mysql을 사용할 수 있도록 하기 위해, mysqld를 재시작한다.
[root@localhost ~]# service mysqld restart
mysql로그인
[root@localhost~]# mysql -p
Enter password : 암호를 입력하면
mysql> 접속 성공
5. mySQL 데이터베이스 확인
우여곡절끝에 mysql> 을 띄운당신...ㅠㅠ...
데이터베이스를 확인해보자!
msql> show databases;
+-------------------+
| Database |
+-------------------+
| information_schema |
| mysql |
| test |
+-------------------+
3 rows in set (0,00 sec)
mysql>
나도이제부터 서버관리자 (.....)
참고로 눈에 보이는 저 mysql은 각 계정의 패스워드와 퍼미션(권한)을 부여하는 곳이므로 주의하자.
test 라고 보이는 곳은 temporary한 DB이다.
다음번에는 mySQL에 DB를 생성하고 최종적으로는 간단한 php 프로그램을 작성하여 DB입력,출력,수정,삭제를 목표로.
'■ 개발 서버 ■ > Linux RedHat Enterprise' 카테고리의 다른 글
11. mySQL 데이터베이스 생성과 테이블 (0) | 2013.10.17 |
---|---|
10-2. 간혹 mysql_install_db 오류날때 (0) | 2013.10.17 |
9. php설치 (0) | 2013.10.17 |
8. RHEL-S5 리눅스로 Hosting 하기 (0) | 2013.10.17 |
7. ssh를 사용하여 "윈도우 -> 리눅스 원격제어" (0) | 2013.10.17 |