-
SUSE linux (opensuse) 11.1 - Mysql 설치와 셋팅Linux 2009. 4. 15. 16:36suse linux 11.1 버전, 처음 리눅스 설치 시 mysql을 패키지 상에서 같이 설치했을 때를 기준으로 잡습니다.
처음 설정
설치 후 처음에는 루트 비밀번호 설정되어있지 않으니 설정해줍시다
#mysqladmin -u root password '입력할 패스워드'
입력한 패스워드로 root 패스워드가 설정됩니다.
이후 mysql을 실행하러 갑시다
etc/init.d에 mysql이 깔려 있으니 터미널에서 해당 디렉토리로 이동합시다.
#./mysql start 입력 시 서비스가 시작됩니다. start대신 stop, status, restart 등 명령어가 사용 가능합니다.
#./mysql 만 따로 치면 뒤에 사용 가능한 명령어가 나오니 참고하세요.
#mysql -u root -p 라고 접근하면 비밀번호를 물어보며, 비밀번호가 맞으면 mysql 내부로 들어가집니다.
원격 접속 권한 설정
mysql 내부에서
>grant all privileges on *.* to 'oops'@'192.168.5.14'
>identified by 'passwd' with grant option;
해당 아이피의 호스트 에서 oops 라는 유저가 모든 권한을 부여받을 수있다는 말입니다.
ip대신 % 를 주면 모든 호스트에 대해 허용됩니다. ( 작은따옴표 필수 )
이와 같은 설정은 select host, user from user; 로 확인해볼수 있습니다.
UTF-8로 언어 인코딩 변경
#vi /etc/my.cnf 로 접근합시다
[mysql]
default-character-set =utf8
[mysqld]
default-character-set=utf8
mysql, mysqld 아래에 항목을 하나씩 추가해준 후 저장하고 나와서 mysql 재시작하면 됩니다.
mysql 접속 후
> show variables like "c%";
를 사용하면 현재 상태를 알 수 있습니다.
새로운 사용자 등록
-> Mysql 에 root로 접속./mysql -u root -p
->Mysql DB 선택
mysql> use mysql;
mysql> show tables;
->새로운 DB 생성
mysql> create database xlare;
-> user 테이블에 입력 (중요. user 라는 테이블에 새로운 사용자의 계정이름과 권한설정을 할 차례)
-> 호스팅사용자에 대한 설정 user테이블에 현재 사용장0ㅔ 대한 권한들을 모두 'N'로 설정
mysql> insert into user valuses('localhost', 'xlare', password('123'),'Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N');
->user 테이블에 입력확인
mysql> select * from user where user = 'xlare' ;
-> db 테이블에 입력
mysql> insert into db values('localhost', 'xlare', 'xlare', 'Y','Y','Y','Y','Y','N','N','N','N','N',);
-> db 테이블에 입력 확인
mysql> select * from db where db = 'xlare';
-> 새로운 설정을 바로 적용키위해 mysqladmin 이라는 관리자명령어로 mysql 을 재시작
->reload를 해주지 않으면 생성했던 것들이 적용이 되지 않음
# ./mysqladmin -u root -p reload;
Mysql root 암호 변경하기
-> 방법 1: mysqladmin 이라는 명령어 사용
# ./mysqladmin -u root -p password 12345
->방법 2: mysql의 set 이란 명령어로 root 암호 변경
# ./mysql -u root -p mysql
mysql> set password for root=passwd('12345678');
-> 방법 3: mysql 데이터베이스로 접속하여 update문을 사용하는 방법
# ./mysql -u root -p mysql
mysql> update user set password=password('12345' where user = 'root';
mysql> flush privileges;
->flush-privileges: 권한 테이블을 재시작한다. 권한 설정을 변경했을경우 반드시 재시작
mysql> flush privileges;
root 패스워드를 잊어버렸을 때는 어떻게?
->단계 1: 실행중인 mysql 종료
# ps -ef | grep mysqld
# killall mysqld
->단계 2: grant-table 미사용모드로 mysql시작 및 root로 접속
# .safe_mysqld --skip-grant-tables&
-> 단계 3: update문으로 root사용자 패스워드 변경
mysql> update user set password=password('12345') where user = 'root';
mysql> flush privileges;
-> 단계 4: 실행중인 mysql 다시 종료
# ps -ef | grep mysqld
# killall mysqld
-> 단계 5: 일반모드로 Mysql 재시작
# ./safe_mysqld&
# ps -ef | grep mysql
백업과 복구
MySQL에서는 mysqldump라는 파일을 실행하여 데이터베이스내의 데이터를 외부 파일로 저장할 수 있다.
mysqldump는 mysql 디렉토리 밑의 bin 디렉토리에 존재하며 아래와 같은 명령어를 통해 백업을 수행한다.
mysqldump -u [user_name] -p [백업할 db_name] > [외부로 저장할 파일명]
23. linux3s? 데이터베이스를 백업해 보자.
$ mysqldump -u linux3s1 -p linux3s > linux3s_backup.sql
Enter password : ******
24. 백업된 파일의 확인
$ ls -l linux3s_backup.sql
25. 위 명령의 실행 결과 생성된 linux3s_backup.sql 파일의 내용을 확인한다.
$ cat linux3s_backup.sql
mysqldump 명령으로 백업된 데이터베이스는 해당 데이터베이스내에 있는 테이블의 구조를 정의한 데이터 정의문과 INSERT 문과 같은 데이터 조작문의 SQL 형태로 저장되어 있다.
이 렇게 SQL 형태로 자장되면 아래와 같은 명령으로 쉽게 데이터를 복구할 수 있다. 또한 SQL은 데이터베이스의 표준언어이므로 MySQL이 아닌 다른 database server에 해당 database를 이식하려 할 때에도 호환성에 의한 문제가 거의 발생치 않는 장점이 있다.
26. 필요에 따라 linux3s_backup.sql 파일의 내용을 수정한 후 다음과 같은 방법으로 복구한다.
$ mysql -u linux3s1 -p linux3s < linux3s_backup.sql
Enter password : ******
자동실행cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld -----//데몬을 복사 chmod 755 /etc/rc.d/init.d/mysqld위에것 안됨.
chown mysql.mysql /etc/rc.d/init.d/mysqld
ntsysv 해서 mysqld 를 체크하시면 부팅될때마다 자동 실행
etc/init.d로 이동한 뒤
# chkconfig --add mysql
# chkconfig --level 2345 mysql on
이라고 써주면 됩니다.
정보제공
http://bystory.co.kr/blog/106
http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10110&eid=AzIRuDprGIep+yUSNSSAvl3VNIIxaGT6&qb=bXlzcWwgLXA=&enc=utf8
my.cnf 정보 : http://cafe.naver.com/eitlinux.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=102
http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10202&eid=5GnJeeh3cDOiI6poVpK/V87CPA3DPetF&qb=66as64iF7IqkIG15c3FsIOycoOyggA==&enc=utf8'Linux' 카테고리의 다른 글
리눅스 명령어 요약 (0) 2009.04.15 SUSE linux (opensuse) 11.1 - Sendmail 셋팅 (0) 2009.04.15 SUSE linux (opensuse) 11.1 - Subversion 셋팅 (0) 2009.04.15