<div><font color="#ff6c00"><strong><font size="5">데이터베이스 접속<br></font></strong></font></div><blockquote class="SOURCE"><font color="#ff6c00">$ mysql -u 사용자명 -p dbname<br></font></blockquote> <div><font color="#ff6c00"><br>설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다.<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">$ mysql -u root mysql<br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>비밀번호 변경</big></b><br></font>MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다.<br>다음 세가지 방법으로 비밀번호를 변경 할 수 있다.<br></font></div> <ul><li style="list-style:none;"><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">mysqladmin이용<br></font> <blockquote class="SOURCE"><font color="#ff6c00">$ mysqladmin -u root password 새비밀번호<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">update문 이용<br></font> <blockquote class="SOURCE"><font color="#ff6c00">$ mysql -u root mysql<br><br> mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root';<br> mysql> FLUSH PRIVILEGES;<br></font></blockquote><font color="#ff6c00"><br><br></font></li> <li><font color="#ff6c00">Set Password 이용<br></font> <blockquote class="SOURCE"><font color="#ff6c00">SET PASSWORD FOR root=password('새비밀번호');<br></font></blockquote><font color="#ff6c00"><br></font></li></ul><div><font color="#ff6c00"><br>일단 root 비밀번호가 설정된 상태에서는 mysql이나 mysqladmin 명령을 실행할 때 -p 옵션을 붙여주고 기존 비밀번호를 입력해야만 한다.<br><br><font size="4"><b><big>사용자 추가/삭제</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'password';<br></font></blockquote> <div><font color="#ff6c00"><br> username 이라는 사용자를 password라는 비밀번호를 갖도록 하여 추가한다. username은 dbname이라는<br> 데이타베이스에 대해 모든 권한을 가지고 있다.<br>username 사용자는 로칼 호스트에서만 접속할 수 있다. 다른 호스트에서 접속하려면<br></font></div><blockquote class="SOURCE"><font color="#ff6c00">GRANT ALL PRIVILEGES ON dbname.* TO username@'%' IDENTIFIED BY 'password';<br></font></blockquote> <div><font color="#ff6c00"><br>위를 또한 번 실행한다. '%'에서 홑따옴표를 주의한다.<br><b>추가 : '%'를 호스트네임으로 지정해도 모든 호스트에서 접속할 수 없었다. 각 호스트별로 다 지정해야 했다.</b><br><br>불필요한 사용자 삭제는<br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> DLETE FROM user WHERE user='username';<br> mysql> FLUSH PRIVILEGES;<br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>데이터베이스 생성/보기</big></b><br></font></font></div> <ul><li style="list-style:none;"><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">데이터베이스를 생성하고,<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> CREATE DATABASE dbname;<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">현재 존재하는 데이터베이스 목록을 보여준다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> SHOW DATABASES;<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">특정 데이타베이스를 사용하겠다고 선언한다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> USE dbname;<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">쓸모 없으면 과감히 삭제한다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> DROP DATABASE [IF EXISTS] dbname;<br></font></blockquote><font color="#ff6c00"><br><b>IF EXISTS</b> 옵션은 비록 데이타베이스가 없더라도 오류를 발생시키지 말라는 의미이다.<br></font></li></ul><div><font color="#ff6c00"><br><br><font size="4"><b><big>테이블 생성/보기</big></b><br></font></font></div> <ul><li style="list-style:none;"><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">테이블을 생성하고,<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> CREATE TABLE tablename (<br> column_name1 INT,<br> column_name2 VARCHAR(15),<br> column_name3 INT );<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">현재 데이타베이스의 테이블 목록을 보고<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> SHOW TABLES;<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">테이블 구조를 살펴본다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> EXPLAIN tablesname;<br>혹은<br>mysql> DESCRIBE tablename;<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">이름을 잘못 지정했으면 이름을 변경할 수도 있다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4];<br></font></blockquote><font color="#ff6c00"><br></font></li> <li><font color="#ff6c00">필요 없으면 삭제한다.<br></font> <blockquote class="SOURCE"><font color="#ff6c00">mysql> DROP TABLE [IF EXISTS] tablename;<br></font></blockquote><font color="#ff6c00"><br></font></li></ul><div><font color="#ff6c00"><br><br><font size="4"><b><big>현재 상태 보기</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00"><br>mysql> status<br><br> --------------<br> mysql Ver 11.18 Distrib 3.23.58, for pc-linux (i686)<br><br> Connection id: 26<br> Current database: study<br> Current user: study@localhost<br> Current pager: stdout<br> Using outfile: '<br> Server version: 3.23.58<br> Protocol version: 10<br> Connection: Localhost via UNIX socket<br> Client characterset: latin1<br> Server characterset: euc_kr<br> UNIX socket: /var/lib/mysql/mysql.sock<br> Uptime: 2 hours 9 min 59 sec<br><br> Threads: 1 Questions: 160 Slow queries: 0 Opens: 28 Flush tables: 1<br> Open tables: 1 Queries per second avg: 0.021<br> --------------<br><br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>INSERT</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> INSERT INTO tablename VALUES(값1, 값2, ...);<br><br>혹은<br><br>mysql> INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...);<br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>SELECT</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT col1, col2, ... FROM tablename;<br></font></blockquote> <div><font color="#ff6c00"><br>컬럼명을 *로 하면 모든 컬럼 의미.<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade;<br></font></blockquote> <div><font color="#ff6c00"><br>컬럼의 이름을 바꿔서 출력.<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT * FROM tablename ORDER BY col1 DESC;<br> mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC;<br></font></blockquote> <div><font color="#ff6c00"><br><b>DESC</b>는 내림차순 <b>ASC</b>는 오름차순.<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT * FROM grade WHERE korean < 90;<br></font></blockquote> <div><font color="#ff6c00"><br>조건줘서 SELECT.<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT * FROM grade LIMIT 10;<br></font></blockquote> <div><font color="#ff6c00"><br>결과중 처음부터 10개만 가져오기<br><br></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> SELECT * FROM grade LIMIT 100, 10;<br></font></blockquote> <div><font color="#ff6c00"><br>결과중 100번째부터 10개만 가져오기. <b>첫번째 레코드는 0번 부터 시작</b>한다.<br><br><font size="4"><b><big>UPDATE</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> UPDATE tablename SET col1=새값 WEHER 조건<br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>DELETE</big></b><br></font></font></div><blockquote class="SOURCE"><font color="#ff6c00">mysql> DELETE FROM tablename WEHRE 조건<br></font></blockquote> <div><font color="#ff6c00"><br><br><font size="4"><b><big>mysql에서 쿼리 결과 세로로 보기</big></b><br></font><b>-E</b> 옵션을 줘서 실행한다.<br></font></div><blockquote class="SOURCE"><font color="#ff6c00">$ mysql -E -u root -p mysql<br></font></blockquote> <div><font color="#ff6c00"><br><br> =============================================<br></font></div> <table width="98%" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:10px 0px;"> <div align="justify"></div> <table width="552" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td> <div><font color="#ff0000">1. Mysql 기본 사용법</font></div> <div> </div> <div>->Mysql 데이터베이스 접속하기</div> <div># mysql -u root mysql</div> <div> </div> <div>-> mysql 관리자 <strong>root 패스워드 설정하기</strong></div> <div># mysql -u root mysql</div> <div>mysql> update user set password = password('shcm0816') where user = ' root';</div> <div> </div> <div>-> 빠져나간후 데이터베이스를 재시작</div> <div># mysqladmin -u root reload</div> <div> </div> <div>->패스워드 입력</div> <div># mysql -u root -p mysql</div> <div> </div> <div>< 여러가지 관련 명령어 ></div> <div> </div> <div>->데이터베이스 확인</div> <div>mysql> show databases;</div> <div> </div> <div>->테이블 확인</div> <div>msyql> show databases; </div> <div>msyql> desc user =>동일한 결과</div> <div> </div> <div><font color="#ff0000">2. 데이터베이스 생성 및 삭제</font></div> <div> </div> <div>->데이터베이스 생성</div> <div>① 첫번째 방법</div> <div># mysql -u root -p mysqlll</div> <div> msyql> create database TESTDB;</div> <div> msyql> show databases;</div> <div> </div> <div>② 두번째 방법</div> <div># ./mysqladmin -u root -p create testdb2</div> <div>Enter password:</div> <div># ./mysql -u root -p mysql</div> <div>Enter passwor</div> <div> </div> <div>cd /</div> <div>msyql> show databases;</div> <div>msyql> exit</div> <div>Bye</div> <div>#</div> <div> </div> <div><font color="#ff0000">->데이타 베이스 삭제</font></div> <div># ./mysqladmin -u root -p drop testdb2</div> <div>Enter password:</div> <div> </div> <div>mysql> drop database testdb2</div> <div> </div> <div># ./mysql -u root -p mysql</div> <div>msyql> show databases;</div> <div> </div> <div><font color="#ff0000">3. 새로 생성한 데이터베이스 등록하기</font></div> <div>-> 데이터베이스를 새로 생성한 후에는 mysql 이라는 관리용 데이터베이스에 등록</div> <div>->mysql 이라는 데이터베이스의 db라는 테이블에 TESTDB를 등록한 것</div> <div>msyql> insert into db values('%','TESTDB','root','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');</div> <div>msyql> select host, db, user from db</div> <div> </div> <div><font color="#ff0000">4. Mysql 사용자등록(데이터베이스 소유자)</font></div> <div>->mysql 을 사용할 사용자는 반드시 user 라는 테이블에 등록을 해줘야함</div> <div>msyql> insert into user (host, user, password) values('localhost', 'sspark', password('shcm0816'));</div> <div> </div> <div>->정상적인 등록여부 확인</div> <div>msyql> select host, user, password from user; </div> <div> </div> <div>->sspark이라는 사용자로 mysql 데이터베이스로 접속</div> <div>msyql> mysql -u sspark -p</div> <div>Enter password:</div> <div> </div> <div>->새로운 데이터베이스를 생성하거나 새로운 사용자를 생성한 후에는 반드시 <strong>reload</strong>를 해줘야함</div> <div># mysqladmin -u root -p reload</div> <div>Enter password:</div> <div> </div> <div><font color="#ff0000">5. 테이블 생성 및 삭제</font></div> <div>msyql> create table testtable (</div> <div> ->uid mediumint(4) unsigned DEFAULT '0' NOT NULL auto_increment,</div> <div> -> name varchar(12) DEFAULT "" NOT NULL,</div> <div> -> email varchar (20) DEFAULT "" NOT NULL,</div> <div> -> PRIMARY KEY (uid)</div> <div> -> );</div> <div>Query OK, 0 rows affected (0.00 sec)</div> <div>msyql>show tables;</div> <div> </div> <div>-> 필드 구조가 정의한 필드구조로 생성되었는지 확인</div> <div>msyql> desc testtable;</div> <div> </div> <div>-> 삭제</div> <div>msyql> drop table testtable;</div> <div>mysql> show tables;</div> <div> </div> <div><font color="#ff0000">6. 테이블속성 및 구조변경법</font></div> <div>ALTER TABLE 테이블명 CHANGE[COLUMN] 필드명 필드타입</div> <div>-> 기존 테이블에 필드 추가하기</div> <div> </div> <div>mysql> er table testtable add column homepage varchar(30);</div> <div>mysql> desc testtable;</div> <div> </div> <div>-> 기존에 필드 속성 변경하기</div> <div>ALTER TABLE 테이블명 CHANGE[COLUMN] 기존필드명 새필드명 필드타입</div> <div>mysql> er table testtable change column homepage home varchar(50);</div> <div> </div> <div>-> 기존에 필드 삭제</div> <div>ALTER TABLE 테이블명 DROP [COLUMN] 필드명</div> <div>mysql> er table testtable drop column home;</div> <div>mysql> desc testtable;</div> <div> </div> <div>-> 기존의 테이블삭제하기</div> <div>mysql> create table sampletable</div> <div>mysql> show tables;</div> <div>mysql> drop table sampletable;</div> <div>mysql> show tables;</div> <div> </div> <div><font color="#ff0000">7. 데이터 입력하기</font></div> <div>mysql> insert into testtable (uid, name, email) values (', 'parksungsoo', <a class="con_link" href="mailto:'%3CA%20HREF=" target="_blank">
[email protected]</a>'" target=_blank>'<a class="con_link" href="mailto:
[email protected]" target="_blank">
[email protected]</a>');</div> <div>-> 주의: uid라는 필드는 auto_increment 라는 속성으로 생성했기 때문에 이 속성을 가진 필드들은 실제로 데이터값을 주지 않아도 자동적으로 1씩 증가.</div> <div> </div> <div>->삽입할 필드는 생략가능</div> <div>mysql> insert into testtable values(','sontaesoo','<a class="con_link" href="mailto:
[email protected]" target="_blank">
[email protected]</a>');</div> <div> </div> <div>->특정 필드에만 데이터를 입력할 경우에는 입력할 필드이름만을 나열 그에 해당하는 데이터 입력</div> <div>mysql> insert into testtable (uid,name) values(','junwooki');</div> <div>->정상적으로 입력되었는지 확인</div> <div>mysql> select * from testtable;</div> <div> </div> <div><font color="#ff0000">8. 데이터 검색</font></div> <div>SELECT(데이터검색하기)</div> <div>->데이터검색의 일반적인 방법</div> <div> </div> <div>-> 테이블의 모든 테이터를 검색</div> <div>mysql> select * from testtable;</div> <div> </div> <div>-> uid와 name 필드만을 조회</div> <div>mysql> select uid, name from testtable;</div> <div>->where문을 사용하여 특정 조건에 맞는 데이터만을 검색</div> <div>mysql> select * from testtable where name = "sontaesoo";</div> <div> </div> <div>->출력 결과 레코드의 중복제거하기(DISTINCT)</div> <div>SELECT DISTINCT sex FROM testtable</div> <div> </div> <div>->다양한 검색 방법</div> <div> </div> <div>->'soo'라는 문자가 포함된 데이터를 모두 검색</div> <div>->SELECT name FROM testtable WHERE name LIKE '%soo%'</div> <div>mysql> select name from testtable where name LIKE '%soo%';</div> <div> </div> <div>->특정한 한 문자로 시작하는 데이터만을 출력할 때에 사용하는 조회형식</div> <div>SELECT name FROM testable WHERE name LIKE 'park%'</div> <div>mysql> select name from testtable where name LIKE 'park%';</div> <div> </div> <div>->특정 필드에 데이터가 NULL 인 경우를 조회한것</div> <div>SELECT uid, name FROM testtable WHERE age IS NULL</div> <div>mysql>select uid, name from testtable where age IS NULL;</div> <div> </div> <div>-> 특정 필드의 데이터가 NULL이 아닌 경우</div> <div>SELECT uid, name FROM testtable WHERE age IS NULL</div> <div> mysql>select uid, name from testtable where age IS NOT NULL;</div> <div> </div> <div>-> SELECT name, uid, email FROM testtable WHERE savem > 5000 AND sex='M'</div> <div>-> SELECT name, uid, savem FROM testtable WHERE savem >= 5000 ORDER BY savem </div> <div> DESC</div> <div>-> SELECT count(*) FROM testtable WHERE sex='M'</div> <div>-> SELECT avg(savem) FROM testtable WHERE sex='M'</div> <div> </div> <div><font color="#ff0000">9. 데이터 수정하기</font></div> <div>->UPDATE 테이블명 SET 필드명=필드값 또는 산술식 {, 필드명 = 필드값 또는 산술식}*[WHERE</div> <div> 검색조건]</div> <div>mysql> select * from testtable;</div> <div> </div> <div>->uid 4 번의 데이터에 name 값과 email을 입력해 봄</div> <div>mysql> update testtable set name = 'junyangmi' where age = 23;</div> <div>mysql> update testtable set email = <a class="con_link" href="mailto:'%3CA%20HREF=" target="_blank">
[email protected]</a>'" target=_blank>'<a class="con_link" href="mailto:
[email protected]" target="_blank">
[email protected]</a>' where age = 23;</div> <div>mysql> select * from testtable;</div> <div> </div> <div>-> uid 1 인 사람 (parksungsoo)의 나이를 25살로 수정</div> <div>mysql> update testtable set age= 25 where uid =1;</div> <div> </div> <div>->uid 2인 사람의 나이를 30살로 수정</div> <div>mysql> update testtable set age = 30 where uid =2;</div> <div>mysql> update testtable set age = 41 where uid=3;</div> <div> </div> <div>-> 한해가 지났으므로 모든 사람의 나이를 한 살씩 증가</div> <div>mysql> update testtable set age = age + 1;</div> <div>mysql> select * from testtable;</div> <div> </div> <div><font color="#ff0000">10. 데이터 삭제하기(delete)</font></div> <div>->Delete FROM 테이블명 [WHERE 검색조건]</div> <div>mysql> select * from testtable;</div> <div>mysql> delete from testtable where uid = 3;</div> <div> </div> <div><font color="#ff0000">11. 새로운 사용자 등록</font></div> <div>-> Mysql 에 root로 접속</div> <div>./mysql -u root -p</div> <div>->Mysql DB 선택</div> <div>mysql> use mysql;</div> <div>mysql> show tables;</div> <div> </div> <div>->새로운 DB 생성</div> <div>mysql> create database xlare;</div> <div> </div> <div>-> <strong>user 테이블에 입력</strong> (user 라는 테이블에 새로운 사용자의 계정이름과 권한설정을 할 차례)</div> <div>-> 호스팅사용자에 대한 설정 user테이블에 현재 사용장0ㅔ 대한 권한들을 모두 'N'로 설정</div> <div>mysql> insert into user valuses('localhost', 'xlare', password('123'),'Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N');</div> <div> </div> <div>->user 테이블에 입력확인</div> <div>mysql> select * from user where user = 'xlare' ;</div> <div> </div> <div>-> db 테이블에 입력</div> <div>mysql> insert into db values('localhost', 'xlare', 'xlare', 'Y','Y','Y','Y','Y','N','N','N','N','N',);</div> <div> </div> <div>-> db 테이블에 입력 확인</div> <div>mysql> select * from db where db = 'xlare';</div> <div> </div> <div>-> 새로운 설정을 바로 적용키위해 mysqladmin 이라는 관리자명령어로 mysql 을 재시작</div> <div>->reload를 해주지 않으면 생성했던 것들이 적용이 되지 않음</div> <div># ./mysqladmin -u root -p reload;</div> <div> </div> <div><font color="#ff0000">12. 일반사용자 권한설정(보안사항)</font></div> <div>#./mysql -u root -p mysql</div> <div>Enter password:</div> <div>mysql> show tables;</div> <div>--------------------</div> <div>tables in mysql</div> <div>--------------------</div> <div>columns_priv</div> <div>db</div> <div>func</div> <div>host</div> <div>tables_priv</div> <div>user</div> <div>----------------------</div> <div> </div> <div>-><strong>columns_priv 테이블</strong></div> <div>* 모든 특정 DB 의 특정 User 에 대한 특정 테이블의 각 컬럼에 대한 select, insert, update,</div> <div> reference 권한을 설정</div> <div>mysql> desc columns_priv;</div> <div>->db 테이블</div> <div>* db라는 테이블에는 특정 DB에 대한 user들의 여러가지 권한들을 설정하는 테이블</div> <div>mysql> desc db;</div> <div>-> kebia 라는 데이터베이스의 소유자와 그 권한에 대해서 알아보고자 함.</div> <div>-> kebia라는 데이터베이스의 소유자는 hyung 이라는 mysqkl 사용자이며 이 hyung 이라는 사용자</div> <div> 는 이 kebia 라는 데이터베이스에 대한 각종 권한을 볼수 있음.</div> <div>mysql> select * from db where db = 'kebia';</div> <div>| localhost | kebia | hyung | Y | - - - - - ...........</div> <div>------------------------</div> <div> </div> <div>-><strong>tables_priv테이블</strong></div> <div>* columns_priv 테이블처럼 각 데이터베이스와 사용자 및 그 테이블에 대한 권한 설정</div> <div>mysql > desc tables_priv;</div> <div>---------------------</div> <div> </div> <div>-><strong>user 테이블</strong> : 새로운 사용자를 생성할때 이 테이블에 등록</div> <div>-> 특정 사용자에 대한 Mysql에 존재하는 모든 데이터베이스에 대한 권한설정</div> <div>-> 특정 사용자의 어떤권한에 대한 사항은 특정 데이터베이스가 아니라 Mysql에 존재하는 모든 데</div> <div> 이터베이스에 권한이 주어짐.</div> <div>-> host와 user, password 항목을 제외한 나머지 권한들은 모두 'N"로 설정</div> <div>->특정한 사용자에 대한 특정한 데이터베이스에 대한 권한을 주려면 위에서 보았던 db라는 테이블</div> <div> 에서 그 권한설정을 하는것이 안전함</div> <div> </div> <div><font color="#ff0000">13 .Mysql root 암호 변경하기</font></div> <div>-> 방법 1: mysqladmin 이라는 명령어 사용</div> <div># ./mysqladmin -u root -p password 12345</div> <div> </div> <div>->방법 2: mysql의 set 이란 명령어로 root 암호 변경</div> <div># ./mysql -u root -p mysql</div> <div>mysql> set password for root=passwd('12345678');</div> <div> </div> <div>-> 방법 3: mysql 데이터베이스로 접속하여 update문을 사용하는 방법</div> <div># ./mysql -u root -p mysql</div> <div>mysql> update user set password=password('12345' where user = 'root';</div> <div>mysql> flush privileges;</div> <div> </div> <div>->flush-privileges: 권한 테이블을 재시작한다. 권한 설정을 변경했을경우 반드시 재시작</div> <div>mysql> flush privileges;</div> <div> </div> <div><font color="#ff0000">14. root 패스워드를 잊어버렸을 때는 어떻게?</font></div> <div>->단계 1: 실행중인 mysql 종료</div> <div># ps -ef | grep mysqld</div> <div># killall mysqld</div> <div> </div> <div>->단계 2: grant-table 미사용모드로 mysql시작 및 root로 접속</div> <div># .safe_mysqld --skip-grant-tables&</div> <div> </div> <div>-> 단계 3: update문으로 root사용자 패스워드 변경</div> <div>mysql> update user set password=password('12345') where user = 'root';</div> <div>mysql> flush privileges;</div> <div> </div> <div>-> 단계 4: 실행중인 mysql 다시 종료</div> <div># ps -ef | grep mysqld</div> <div># killall mysqld</div> <div> </div> <div>-> 단계 5: 일반모드로 Mysql 재시작</div> <div># ./safe_mysqld&</div> <div># ps -ef | grep mysql</div> <div> </div> <div><font color="#ff0000">15. 특정 테이블의 구조보기(show columns from 테이블)</font></div> <div>-> 특정테이블의 필드명 type, 설정값들을 보기 위한 것</div> <div>-> 특정한 테이블의 칼럼(필드)구조를 보려면 "show columns from 테이블명"</div> <div>-> 좀더 편리하여 많이 사용되는 명령문 " desc 테이블명"으로 확인</div> <div>mysql> show columns form user;</div> <div> </div> <div>->특정 테이블의 인덱스 보기</div> <div>mysql> show index from user;</div> <div> </div> <div>-> <strong>데이타베이스의 설정상태 보기(show status)</strong></div> <div>mysql> show status;</div> <div># ./mysqladmin -u root -p status</div> <div> </div> <div>-> 데이터베이스의 설정환경변수와 값보기(show variables)</div> <div>mysql> show variables;</div> <div># ./mysqladmin -u root -p variables</div> <div> </div> <div>-> 현재 데이터베이스에 연결된 프로세스들 보기(show processlist)</div> <div># ./mysqladmin -u root -p processlist</div> <div class="autosourcing-stub"></div></td></tr></tbody></table><div>끝으로 원격에서 접근할려면 아래 내용을 참조하면 됩니다.</div> <div> </div> <div><font color="#ff6c00">mysql 원격접속 권한 설정</font></div> <div class="view" style="font-size:10pt;"> <div> </div> <div>>use mysql</div> <div>>grant all privileges on *.* to <a class="con_link" href="mailto:'oops'@'192.168.5.14'" target="_blank">'oops'@'192.168.5.14'</a> </div> <div>>identified by 'passwd' with grant option;</div> <div> </div> <div>ip대신 % 를 주면 모든 호스트허용!</div> <div> </div> <div>oops 라는 유저가 모든 권한을 부여받을 수있다 . 단 해당 아이피의 호스트 에서만.</div> <div> </div> <div>이와 같은 설정은 select host,user from user; 로 확인해볼수 있다.</div> <div> </div> <div>------------------------------------------------------------------------------------------------------</div> <div><span class="cate">[내용추가]</span>create table에서 DEFAULT '0' 과 auto_increment 는 동시에 사용할 수 없습니다.(MySQL 5.0.51b에서 테스트) 따라서 DEFAULT '0' NOT NULL 만 하시거나, NOT NULL auto_increment만 하시기 바랍니다~ </div></div></td></tr></tbody></table>