아래 글은 ttjm 님께서 적은 글을 옮겨 놓은 것입니다.
http://www.powerdb.net/?inc=read&aid=21153&criteria=mysql&subcrit=qna&id=&limit=20&keyword=&page=1
========================================
정재익님 백록화님 또 다른 좋은님들께서 답변을 너무 잘 올려줘서 급할때 도움이 많이 됐던것 같습니다.
답변해주시는 모든분들 너무 너무 감사합니다.
밑에 부분은 3.x에서 4.x로 바꾸는 스크립트입니다.
아랫부분을 스크립트로 만들어 돌리시면 됩니다. 이 내용은 mysql.com 에 있습니다.
많은 분들이 궁금해 하기에 올려봤습니다.
아 스크립트 돌리는 방법도 알려드려야겠군요.. 초보분들을 위해 저도 초보지만 ^^
mysql -u root -p mysql < 스크립트파일 이름
ALTER TABLE user type=MyISAM; ALTER TABLE db type=MyISAM; ALTER TABLE host type=MyISAM; ALTER TABLE columns_priv type=MyISAM; ALTER TABLE tables_priv type=MyISAM;
alter table user change password password char(16) NOT NULL; CREATE TABLE if not exists func ( name char(64) DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') NOT NULL, PRIMARY KEY (name) );
UPDATE user SET Grant_priv=File_priv, References_priv=Create_priv, Index_priv=Create_priv, Alter_priv=Create_priv; UPDATE db SET References_priv=Create_priv, Index_priv=Create_priv, Alter_priv=Create_priv; UPDATE host SET References_priv=Create_priv, Index_priv=Create_priv, Alter_priv=Create_priv;
ALTER TABLE user ADD ssl_type enum('','ANY','X509', 'SPECIFIED') NOT NULL, ADD ssl_cipher BLOB NOT NULL, ADD x509_issuer BLOB NOT NULL, ADD x509_subject BLOB NOT NULL; ALTER TABLE user MODIFY ssl_type enum('','ANY','X509', 'SPECIFIED') NOT NULL;
CREATE TABLE IF NOT EXISTS tables_priv ( Host char(60) DEFAULT '' NOT NULL, Db char(60) DEFAULT '' NOT NULL, User char(16) DEFAULT '' NOT NULL, Table_name char(60) DEFAULT '' NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp(14), Table_priv set('Select','Insert','Update','Delete','Create','Drop', 'Grant','References','Index','Alter') DEFAULT '' NOT NULL, Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name) );
CREATE TABLE IF NOT EXISTS columns_priv ( Host char(60) DEFAULT '' NOT NULL, Db char(60) DEFAULT '' NOT NULL, User char(16) DEFAULT '' NOT NULL, Table_name char(60) DEFAULT '' NOT NULL, Column_name char(59) DEFAULT '' NOT NULL, Timestamp timestamp(14), Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) );
alter table user add Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Alter_priv, add Super_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Show_db_priv, add Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Super_priv, add Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Create_tmp_table_priv, add Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Lock_tables_priv, add Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Execute_priv, add Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Repl_slave_priv;
update user set Show_db_priv=Select_priv, Super_priv=Process_priv, Execute_priv=Process_priv, Create_tmp_table_priv='Y', Lock_tables_priv='Y', Repl_slave_priv=File_priv, Repl_client_priv=File_priv where user<>"";
alter table user add max_questions int(11) NOT NULL AFTER x509_subject, add max_updates int(11) unsigned NOT NULL AFTER max_questions, add max_connections int(11) unsigned NOT NULL AFTER max_updates;
alter table db add Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, add Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL; alter table host add Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, add Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL;
앗 이제 끝났네요.. 필요하셨나봐요 ^^
항상 즐거운 하루 하루가 되시길 바랍니다. |