본문 바로가기

linux/mysql

(10)
MYSQL 테이블 초기화 truncate 그리고 delete 와의 차이 mysql에서 테이블을 초기화 하는 명령은 아래와 같습니다. truncate `테이블이름`; delete문과 다른 점은AUTO_INCREMENT 값이 초기화 되고 복구가 불가능하다는 점입니다. truncate는 완전 초기화이기에 뼈대만 남기고 모든걸 초기화 합니다. delete는 단지 현재 있는 데이터만 지우게 됩니다. 건물로 따지면 안에 있는 가구만 빼느냐~~ 벽지등까지 다 없에느냐 정도가 되겠네요
mysql 모든 유저 보기 grant 명령어로 유저를 추가하면 mysql db의 user 테이블에 들어가게 됩니다. 여기에 권한 정보도 들어가게 되지요. mysql에 접속해서 desc 라는 테이블 보는 명령어를 사용해 mysql.user 를 들여다 보면 다음과 같습니다. 일단 제가 보려고 했던건 유져명이니까 아래처럼 하면 되겠지요. grant 명령어로 접근하는 방법도 있는 듯 한데 일단 저는 select 문으로 직접 접근해보도록 하겠습니다. > select user from mysql.user 하면 유저명만으로 된 리스트를 가지고 옵니다.
mysql 백업과 복구 mysql 백업과 복구 mysqldump를 이용해서 백업할 수 있습니다. 전체 데이터 베이스 접근을 위해서는 root로 하면 되고 특정 db에만 권한이 있다면 해당 디비유져로 접근해서 허용된 부분만 백업을 해도 됩니다. 벡업 * mysql 전체 통 백업 mysqldump -uroot -p -A > 백업파일명.sql * 특정 데이터베이스만 백업 mysqldump -uroot -p 데이터베이스명 > 백업파일명 .sql * 특정 테이블만 백업 mysqldump -uroot -p 데이터베이스명 테이블네임 > 백업파일명 .sql 복구 * 전체 데이터 베이스 복구 mysql -u root -p < 백업파일명.sql * 특정 데이터 베이스에 복구 mysql -u root 데이터페이스명 < 백업파일명.sql
MYSQL DB를 만들고 계정만들어서 권한부여 MYSQL DB를 만들고 계정만들어서 권한부여 GRANT는 계정을 관리하는 명령어 아이디에 모든DB 모든 접근권한을 준다. GRANT ALL PRIVILEGES ON *.* TO 아이디 @'%' IDENTIFIED BY '비밀번호'; 아래처럼 하면 특정 DB에 모든 권한을 주게 된다. GRANT ALL PRIVILEGES ON DB명.* TO 아이디 @'%' IDENTIFIED BY '비밀번호'; 특정DB에 특정 테이블이라면 아래처럼 GRANT ALL PRIVILEGES ON DB명.DB명 TO 아이디 @'%' IDENTIFIED BY '비밀번호'; 특정DB에 특정아이디에 특정 권한만을 주고자 한다면 아래처럼 권한키워드의 예는 select update delete 등이 될 수 있다. GRANT 권한키워드..
mysql 테이블 초기화 mysql 테이블 초기화 그냥 delete구문으로 삭제를 하게 되면 auto_increment 값등은 초기화가 안 된다. 이런 부분까지 모두 초기화 시키고자 한다면 truncate 를 사용하면 된다. truncate 테이블명 만약 그냥 auto_increment 값을 초기화 하고자 한다면 아래처럼 해도 된다. alter table test_board auto_increment=1;
[mysql] 테이블 수정하기 요즘 코칭관련된 웹페이지를 만들어 보고 있는데. 테이블을 처음 생각했을 때라은 달라지는 부분이 많아서 alter를 사용할 일이 많네요. 예전에는 그냥 삭제하고 다시 만들곤 했는데 가지고 있는 데이터들이 다 날라가서 지금은 자제하게 되네요. alter table을 이용하여 테이블을 변경하면 성능이 떨어질 수 있다고 전에 오라클 배울때 들은 것 같기도 하니 선택은 스스로 하시기를 ^^ alter명령어는 기본적으로 "alter ooo"으로 시작하게 되는데 여기에 view database등이 들어갈 수 있죠. 우리는 테이블을 기준으로 다룰 것이므로 "alter table"로 시작하면 되겟습니다. 그리고 그 뒤에는 어떤 테이블에 대한 것인지 테이블의 이름을 적어주면 되겟습니다. mysql > alter table..
[MYSQL] foreign key 무시하고 테이블 삭제 요즘은 열심히 php와 mysql을 가지고 놀고 있는 중입니다. 작업하다보면 가끔 foreign키때문에 테이블 삭제가 안되는 경우가 있죠 이런 메세지를 보내면서 말이죠 ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails 자 MySql이 당신을 배신한게 아니니 당황하시지 말고 아래와 같이 하시면 됩니다. 당신의 데이터의 안전에 대한 집착이 심해서 그래요 ^^ mysql> SET foreign_key_checks = 0; mysql> drop table TABLENAME mysql> SET foreign_key_checks = 1; 자 오늘도 Have a Good Day
[mysql] 작업하다 만든 쿼리문 .. 제가 작업하다 만든 쿼리문인데.. 지금가지 만들어본것중 제일 긴쿼리문인것 같습니다. 아직 실력이 부족해서 긴 쿼리문이 나온것이겟지요. 오늘 join도 다시보고 서브쿼리등 다시 이것 저것 보면서 재미있는 기능들이 도처에 깔려있구나 하는걸 느꼇습니다. ㅋ 자 모두 쿼리의 세계로 뛰어 들어보아요. 요거 좀더 굴려보면 심플하게 만들수 있을것 같기도 한데 select s.mod_name,s.server_name,s.alert,s.reaction,s.value,m.mod_type,m.alert as alert_flag,m.reaction as reaction_flag , m.comment from server_mod s, mod_manage m where server_name like '192.168.56.3' u..