현재시간에서 입력되어있는 시간의 day단위 시간차를 구해옵니다.
10일 이상인것만 가져오는 Query 입니다.
mysql>
mysql>
mysql> show table status from rssdb like 'item'\G;
*************************** 1. row ***************************
Name: test000
Engine: InnoDB
Version: 9
Row_format: Dynamic
Rows: 179
Avg_row_length: 8786
Data_length: 1572864
Max_data_length: NULL
Index_length: 49152
Data_free: 0
Auto_increment: 139
Create_time: 2007-11-26 14:47:52
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment: InnoDB free: 4096 kB
1 row in set (0.00 sec)
조회된 결과에서
max_rows Column과 avg_row_length Column값을 변경하면 됩니다.
[Syntax]
alter table table명 max_rows=레코드수 avg_row_length=원하는테이블용량
[예제]
레코드수-1천만건, 원하는테이블용량-6GB일 경우
alter table seoul max_rows=10000000 avg_row_length=6024000000;
*테이블 속성변경*
alter table [해당테이블명] change [해당필드] [바꿀필드명] [변경할필드속성];
예) 테이블의 속성만을 바꿔보자 varchar(50)으로
- alter table test000 change test test varchar(50);
예) 테이블의 필드명과 필드속성을 변경해보자 (필드명=age 속성=int)
- alter table test000 change test age int;
*테이블 필드 추가*
alter table [해당테이블명] add [추가할필드명] [필드속성];
예) 테이블에 name필드를 추가하다 속성은 varchar(20);
- alter table test000 add name varchar(20);
*필드 삭제*
alter table [해당테이블명] drop [삭제할필드명];
예) name 필드를 삭제해 보자
- alter table test000 drop name;
● Database 생성
● USER추가
insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv)
values ('**.**.**.**', 'testuser', password('testpwd'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv)
values ('%', 'testuser', password('testpwd'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
● DB추가
insert into db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv)
values ('**.**.**.**', 'testdb', 'testuser', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y');
insert into db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv)
values ('localhost', 'testdb', 'testuser', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y');
FLUSH PRIVILEGES;
찾으려 들면 꼭 애를 먹어요..
1. 우선 backup을 수행해도 되는지 확인을 해보도록 합니다.
> 만일 DB가 InnoDB 방식이라면 아래와 같은 명령어가 통한답니다.
mysql>show table status
> 만일 InnoDB 가 아니라면...
[neouser@neouserdb-1 data]$ du --max-depth=1
2. 검토해본 결과 별다른 무리가 없다면 mysql을 backup을 받습니다.
저에 경우에는 backup후 개발 장비에 데이터를 모두 뿌려넣고 싶었기 때문에 dump를 뜨도록 했습니다.
> BACKUP
데이터베이스명 : neouserdb
생성할 sql파일명 : neouserdb.sql
shell>$ mysqldump -uroot -p neouserdb > neouserdb.sql
> RESTORE
데이터베이스명 : neouserdb2
생성할 sql파일명 : neouserdb.sql
※ 선행작업으로 데이터베이스는 만들어 놓으셔야 합니다.
shell>$ mysql -uroot -p neouserdb2 < neouserdb.sql
3. 추가!!
뭐든 뭔가 또다른 방법이 있기 마련이죠.
mysql> load data local infile 'data.txt' into table table_name;
shell>$ mysql -e "source
/path-to-backup/backup-file.sql
" db_name
이런것도 역시 찾으려 들면 검색엔진들은 뭐이리 쓰레기 데이터만 토해내는지..