MySQL 부하 체크 Slow Query // mysql_slow_log_filter , parser

리눅스/MySQL|2015. 1. 16. 11:01
반응형

대량의 데이터를 조회하거나

잘못된 인덱스 사용으로 인해 장시간 Mysql 프로세스가 물리는 현상이 발생 할 경우

어떤 쿼리문이 이런 현상을 야기 시켰느냐에 대한 분석 시

Slow Query 를 사용하시면 손 쉽게 부하가 증가되는 쿼리를 찾으실 수 있으실 것입니다.

 

<사용 방법>

1. mysql 환경 설정 파일인 my.cnf 파일에 아래 내용을 추가 하시면 됩니다.

 

[mysqld]
long_query_time=초제한(1~10)

log-slow-queries=로그파일명

 

ex)

[mysqld]

log-slow-queries = /temp/mysql-slow.log
long_query_time = 3

위의 의미는 쿼리타임이 3초를 초과하는 쿼리에 대해 /temp/mysql-slow.log 파일에 로그를 남기라는 의미 입니다.

 

2. mysql 구동시 적용하는 방법이 있습니다.

$ mysqld_safe --datadir=데이터디렉토리 --log-slow-queries[=file_name&

 

< 로그 파일의 내용 >

# Time: 080218 13:25:06
User@Host: XXXXX[xxxxx] @ localhost [127.0.0.1]
# Query_time: 8  Lock_time: 0  Rows_sent: 1  Rows_examined: 98767
use CrediMail;

SELECT count(*) FROM test

 

위의 양식으로 slow 쿼리가 남게 됩니다.

slow log 로 남은 쿼리들은 explain 을 사용하여 정상적인 index를 타고 있는지 체크 해 보는 방법으로

문제점을 찾아 가시면 될 것입니다.

ex) mysql>explain 문제시 되는 쿼리;

 

<참고>

Query_time : 쿼리 처리 시간

Lock_time : lock 이 걸린 횟수

Row_sent : 조회 결과 Row 수

Rows_examined : 조회 대상 Row 수

 

Reference URL

http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

http://www.sitepoint.com/forums/showthread.php?t=397521

 
Setting my.cnf for log slow queries
 

MySQL을 운용하다보면 궁극적으로 봉착하는 문제가 바로 Slow queriy 다. 이 Slow query 야말로 모둔 query의 적이라 해도 과언이 아니라고 생각한다. MySQL에서는이 Slow query를 log로 기록할수 있게 되어있는데 이 설정이 꽤나 delicate 하다. 다음은 MySQL 5.0에서 동작하는 설정이다.

1. Check the gloval variables

in the mysql command prompt,

show global variables WHERE Variable_name LIKE ‘l%’;

+???????????+?????????+
| Variable_name | Value |
+???????????+?????????+
| language | /usr/share/mysql/english/ |
| large_files_support | ON |
| large_page_size | 0 |
| large_pages | OFF |
| license | GPL |
| local_infile | ON |
| locked_in_memory | OFF |
| log | OFF |
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | |
| log_slave_updates | OFF |
| log_slow_queries | ON |
| log_warnings | 1 |
| long_query_time | 3 |
| low_priority_updates | OFF |
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
+???????????+?????????+

2. Configuration

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# added 1007/10/05
max_connections = 10000
table_cache = 256
wait_timeout = 900
max_connect_errors = 10000
key_buffer = 16M
sort_buffer = 1M
set-variable = long_query_time=3
log-slow-queries=/var/log/mysqld-slow.log

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
#log-slow-queries=/var/log/mysqld-slow.log
pid-file=/var/run/mysqld/mysqld.pid

# added 2007/10/05
#set-variable = long_query_time=3
#log-slow-queries=/var/log/mysqld-slow.log

 

Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

Parse and summarize the MySQL slow query log. Options are

  --verbose    verbose
  --debug      debug
  --help       write this text to standard output

  -v           verbose
  -d           debug
  -s ORDER     what to sort by (t, at, l, al, r, ar etc), 'at' is default
  -r           reverse the sort order (largest last instead of first)
  -t NUM       just show the top n queries
  -a           don't abstract all numbers to N and strings to 'S'
  -n NUM       abstract numbers with at least n digits within names
  -g PATTERN   grep: only consider stmts that include this string
  -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),
               default is '*', i.e. match all
  -i NAME      name of server instance (if using mysql.server startup script)
  -l           don't subtract lock time from total time

 

 

Slow query filter

http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_filter

 

용도  : slow query log 에서 실행 시간이 일정 시간 이상이 되는 쿼리 와 일정 row 이상 access하는 쿼리만 filter 해 낼 수 있음

 

사용법

 

cat slow query log msql_slow_log_filter -T timesec -R numrows  ( T, R option은 단독으로 사용할 수 있음 )

Ex)

cat  kidsmbbs1-slow.log | msql_slow_log_filter  -R 400000  ( 400000 row 이상 access 하는 쿼리만 추출 )

 

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_comment_121`;

# Time: 070307  5:01:11

# Query_time: 4  Lock_time: 0  Rows_sent: 31864  Rows_examined: 455198

select distinct code from tb_comment_121;

# Time: 070307  5:06:17

# Query_time: 5  Lock_time: 0  Rows_sent: 455596  Rows_examined: 455596

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_comment_121`;

# Time: 070308  5:01:09

# Query_time: 4  Lock_time: 0  Rows_sent: 31905  Rows_examined: 455596

select distinct code from tb_comment_121;

 

cat  kidsmbbs1-slow.log | msql_slow_log_filter  -T 8  ( 8초 이상 걸리는 쿼리만 추출 )

 

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;

# Time: 070306  5:00:40

# Query_time: 8  Lock_time: 0  Rows_sent: 1  Rows_examined: 329849

select count(indexno) as su from tb_comment_160 where wdate>=1173020400 and wdate<=1173106800;

# Time: 070306 14:13:22

# Query_time: 15  Lock_time: 0  Rows_sent: 37014  Rows_examined: 37014

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;

# Time: 070307  5:00:40

# Query_time: 14  Lock_time: 0  Rows_sent: 37014  Rows_examined: 37014

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;

 

Aggregating slow query log

http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser

 

용도 : slow query log 에 있는 slow query에 대해서 aggregate 한 정보를 보여줌즉 실행 횟수평균 수행 시간총 수행 시간 , access 한 rows  , 개인적으로 mysqldumpslow 보다 보기  좋은 것 같습니다.

 

### 4 Queries

### Total time: 12, Average time: 3

### Taking 3 , 3 , 3 , 3  seconds to complete

### Rows analyzed 144673, 150153, 185656 and 189447

SELECT /*!XXX SQL_NO_CACHE */ * FROM `tb_bbs_limit`;

 

SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_limit`;

 

 

### 2 Queries

### Total time: 10, Average time: 5

### Taking 5 , 5  seconds to complete

### Rows analyzed 78261 and 81439

use ykids_bbs;

SELECT /*!XXX SQL_NO_CACHE */ * FROM `tb_bbs_XXX`;

 

 

[출처] hi.pe.kr 날으는 물고기 | 물고기 (http://naver.pages.kr/140051335615)


반응형

'리눅스 > MySQL' 카테고리의 다른 글

my.cnf 설정파일  (0) 2015.01.16
mysql 튜닝 my.cnf 설정법  (0) 2015.01.16
mysql 두개 동시에 사용하기  (0) 2015.01.16
MySQL Replication (리플리케이션)  (0) 2015.01.16
[oracle] oracle 구동  (0) 2015.01.16

댓글()

mysql 두개 동시에 사용하기

리눅스/MySQL|2015. 1. 16. 10:59
반응형

기존에 mysql 4.0.x 을 사용하면서 mysql 5.x를 추가 설치할때를 기준으로 작성하였습니다.

 

1. mysql 5 설치

    mysql 5 를 다른 디렉토리로 설치 합니다.

 

    예) 설치 위치 : /usr/local/mysql5

           # ./configure --prefix=/usr/local/mysql5 --localstatedir=/usr/local/mysql5/data --with-charset=euc_kr --with-mysql-user=mysql --with-extra-charsets=all --with-pthread --with-named-thread-lib=-lpthread --with-unix-socket-path=/tmp/mysql5.sock --with-tcp-port=3307

           # make

           # make install

 

           기타 DB생성 및 퍼미션 설정

           # scripts/mysql_install_db
           # chown -R mysql:mysql /usr/local/mysql5
           # chown -R mysql:mysql /usr/local/mysql5/data
           # cp support-files/my-huge.cnf /etc/my5.cnf
           # chmod 711 /usr/local/mysql5
           # chmod 700 /usr/local/mysql5/data
           # chmod 751 /usr/local/mysql5/bin
           # chmod 750 /usr/local/mysql5/bin/*
           # chmod 755 /usr/local/mysql5/bin/mysql
           # chmod 755 /usr/local/mysql5/bin/mysqldump

 

          [반대로 5.x 를 사용하다 4.0.x 를 추가 설치 할 경우]

          # ./configure --prefix=/usr/local/mysql4 --localstatedir=/usr/local/mysql4/data --with-charset=euc_kr --with-mysql-user=mysql --with-extra-charsets=all --with-pthread --with-named-thread-lib=-lpthread --with-unix-socket-path=/tmp/mysql4.sock

 

 

2. 파일 수정

    /usr/local/mysql5/bin/mysqld_safe

    /usr/local/mysql5/share/mysql/mysql.server

 

   위의 두개의 파일을 편집기로 열어 아래와 같이 수정합니다.

 

    /etc/my.cnf 는 /etc/my5.cnf 로

    /tmp/mysql.sock 은 /tmp/mysql5.sock 으로 변경, 저장 합니다.

  

    /etc/ld.so.conf 파일에 아래 내용 추가

    /usr/local/mysql5/include/mysql
    /usr/local/mysql5/lib/mysql

 

    위 두줄 추가 저장 후, ldconfig 를 실행 합니다.

    # ldconfig

 

 

3. 운영 방법

    1) mysql 5 구동
    # /usr/local/mysql5/bin/mysqld_safe --defaults-file=/etc/my5.cnf --socket=/tmp/mysql5.sock --pid-file=/usr/local/mysql5/data/localhost.pid --port=3307 --datadir=/usr/local/mysql5/data --basedir=/usr/local/mysql5 &

 

    /usr/local/mysql5/share/mysql/mysql.server 파일을 /etc/init.d/mysqld5 파일로 복사하여 vi 로 실행파일 스크립트를

    적절히 수정하면 손쉽게 구동, 중지가 됩니다. (start 부분만 위에 구동 형식으로 수정하면 됩니다.)

 

    2) mysql 5 접속
    # mysql -u root -p -S /tmp/mysql5.sock

 

    3) mysql 5 데몬 종료
    # mysqladmin -u root -p -S /tmp/mysql5.sock shutdown

 

    4) 소켓 설정

    mysql 5 를 사용하는 홈페이지는 virtualhost 설정에
    php_value mysql.default_socket '/tmp/mysql5.sock' 를 포함해야 합니다.


     ※ 또는 홈페이지 소스의 mysql_connect 부분전에 소켓 설정을 해줍니다.

           $sock = "/tmp/mysql5.sock"; 
           ini_set('mysql.default_socket',$sock);

반응형

댓글()

MySQL Replication (리플리케이션)

리눅스/MySQL|2015. 1. 16. 10:59
반응형

MySQL Replicaton 은 DB 서버를 여러대 두고 웹서버로 부터의 접속(쿼리, select)을 분산 시켜

DB서버의 부하를 줄이는 방법입니다.

slave 서버에서 master 서버의 바이너리 로그파일을 참조하여 업데이트 하므로,

slave 서버에 로그인하여 DB를 update 하면 동기화가 되지 않으니

slave 서버는 select 용도로만 사용을 해야 합니다.

 

두대의 MySQL 버전이 다를 경우, slave 서버의 버전이 더 높아야 합니다.

(버전에 따라 점차 기능이 많아 지므로..)

 

최대한 간단히 작성하려 하였습니다.

순서대로 따라만 하시면 누구나 손쉽게 구축이 가능합니다. ^^

 

 

1. master 서버 설정

mysql 설정 파일을 열어 아래 두개 항목이 사용중인지 확인합니다.

 

vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id   = 1           <- 서버 고유 번호이므로 slave 서버와 같으면 안됩니다.

 

저장 후, mysql 을 재시작 해줍니다.

/etc/init.d/mysqld restart

 

mysql 에 로그인하여 slave 서버에서 접속할 사용자 생성을 합니다.

 

mysql -p

(mysql root 패스워드 입력)

mysql> use mysql;

mysql> grant replication slave on *.* to 'repluser'@'192.168.0.10' identified by 'sysdocu1234';

 

※ repluser : 리플리케이션 설정 목적을 위한 mysql 계정

    192.168.0.10 : slave 서버 IP 입니다. 여기서는 지정한 IP 에서만 접속되게 설정하였습니다.

    sysdocu1234 : 접속계정의 패스워드 입니다.

 

 

2. slave 서버 설정

mysql 설정 파일을 열어 아래 두개 항목이 사용중인지 확인합니다.

 

vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id   = 2           <- 서버 고유 번호이므로 master 서버와 같으면 안됩니다.

 

저장 후, mysql 을 재시작 해줍니다.

/etc/init.d/mysqld restart

 

 

3. 동기화 작업 

1차적으로 master 서버의 MySQL data 폴더를 master 서버로 복사 해옵니다.

dump 로 가져오셔도 되고, rsync 로 복사해오셔도 됩니다. (rsync는 MySQL 버전이 같을때만 사용합니다.)

방법은 본 메뉴얼에서 생략합니다.


MySQL의 경우 data 디렉토리에 로그파일도 존재 하지만 Ubuntu 의 MariaDB 사용시

data 및 log 디렉토리가 별도 존재 하므로 두개의 디렉토리를 각각 전송 해주어야 합니다.


data 복사가 되었으면, master 서버의 mysql 에 로그인 하여 로그 파일 상태를 확인합니다.

 

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000010 |      813 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

 

이제 slave 서버의 mysql 에 로그인 하여 지정한 로그부터 연동이 되게 설정합니다.

 

mysql> stop slave;

mysql> reset slave;

mysql> change master to master_host='192.168.0.9', master_user='repluser', master_port=3306, master_password='sysdocu1234', master_log_file='mysql-bin.000010', master_log_pos=813;

mysql> start slave;

 

※ 192.168.0.9 : master 서버 IP 입니다.

    mysql-bin.000010 : master 서버에서 확인한 바이너리 로그파일명 입니다. MariaDB는 파일명이 다르니 잘 보고 입력해야 합니다.

    813 : master 서버에서 확인한 바이너리 파일의 최종 쿼리 위치 입니다.

             여기서부터 master 서버에 쿼리 발생시 slave 서버도 같이 동작합니다.

 

 

4. 테스트

master 서버에서 테이블을 한개 생성합니다.

 

mysql> use test;

mysql> create table sysdocu ( no int(8), primary key (no) );

mysql> show tables;

 

slave 서버에서도 같은 database (test) 에 sysdocu 이라는 table 이 생성된 것을 확인할 수 있습니다.

slave 서버에서 확인해봅니다. 

 

mysql> show tables;

 

같은 형식으로 여러대(1:N)의 replication 을 구성할 수 있으며, (주의 : my.cnf 파일의 server-id 만 각각 다르게 설정)

MySQL 구동 순서는 master 서버, slave 서버 순입니다.



* 참고 (테스트 결과)

1) slave 서버 재구동 시 : replication 유지

2) master 서버 재구동 시 : replication 해제

3) slave 서버 리부팅 되는 동안 master 데이터 변경 된 것은 slave 서버가 부팅 완료되고 자동으로 sync 맞춰짐




반응형

댓글()

[oracle] oracle 구동

리눅스/MySQL|2015. 1. 16. 10:59
반응형

# su - oracle
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on Tue Sep 22 12:08:12 2009

Copyright (c) 1982, 2004, Oracle.  All rights reserved.

SQL> connect /as sysdba
Connected.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  188743680 bytes
Fixed Size                   778312 bytes
Variable Size             161750968 bytes
Database Buffers           25165824 bytes
Redo Buffers                1048576 bytes
Database mounted.
Database opened.
SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

[oracle@localhost ~]$ cd product/10.1.0/db_1/bin
[oracle@localhost ~]$ ./lsnrctl stop


LSNRCTL for Linux: Version 10.1.0.3.0 - Production on 22-SEP-2009 12:08:52

Copyright (c) 1991, 2004, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))

The command completed successfully

[oracle@localhost ~]$ ./lsnrctl start

반응형

댓글()

mysql 로그인 상태에서 외부 파일 실행

리눅스/MySQL|2015. 1. 16. 10:58
반응형

쿼리가 있는 파일을 data 홈디렉토리에 넣고 실행하면 됩니다.

 

mysql> ₩. 파일이름

반응형

댓글()

DB이전 후, mysql_connet() 오류 발생 조치

리눅스/MySQL|2015. 1. 16. 10:58
반응형

[사용환경]

이전서버 : MySQL 5.0.45, PHP 5.2.6

신규서버 : MySQL 4.1.22, PHP 4.3.9

 

위와 같은 버전으로 낮추어 이전하였습니다.

DB데이타 이전 후, 아래와 같은 오류메세지가 출력된다면, 별도의 조치가 필요합니다.

 

[증상]

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client

 

이 에러는 mysql 버전간에 password 저장 타입이 틀려서 발생합니다.

 

[해결책]

# mysql -p (mysql root 패스워드 입력)

mysql> use mysql;
Database changed
mysql> set password for 'USERID'@'localhost' = OLD_PASSWORD('NEWPASSWORD');
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

※ USERID 및 NEWPASSWORD 에 사용하는 값 입력.

반응형

댓글()

MySQL4.1 에서 MySQL 4.0 으로 다운그레이드 하기

리눅스/MySQL|2015. 1. 16. 10:57
반응형

MySQL 은 4.0 에서 4.1 로 버전업되면서 많은 것들이 바뀌었습니다.

일단은 서브쿼리를 지원합니다.^^

데이터베이스 캐릭터셋문자가 euc-kr 에서 euckr 로 바뀌었군요.

 

문제는 제목처럼 4.0 에서 4.1 로 다운그레이드할 때 문제가 발생합니다.

 

일단 프로그램에서는 서브쿼리를 사용한게 있다면 바꿔야하겠고요.

 

데이터베이스 데이터를 옮기기 위해서는 데이터를 덤프 받아서 옮겨야 합니다.

 

mysqldump -u uid -p db_name --compatible=mysql40 --default-character-set=euckr > dump_filename

 

--compatible-mysql4.0 옵션을 사용해서 4.0에 맞도록 덤프를 받아야 합니다.

--default-character-set-euckr 옵션을 사용해서 한글이 깨지지 않도록 해야 합니다.

 

유니코드를 사용하므로 그냥 받으면 한글이 깨지더군요..

 

 

그리고 또한가지 위처럼 덤프를 받으니까 auto_increment 속성이 다 없어져 버리더군요..T.T

 

덤프 파일을 열어서 테이블생성하는 스크립트의 필요한 곳에 추가 합니다.

 

이 덤프 파일을 이용해서 데이터베이스를 옮기면 되겠습니다.

 

mysql -u uid -p db_name < dump_filename

 

 

[출처] 울산홈페이지제작은 오즈넷코리아에서... | 미니 (http://cafe.naver.com/oznet/72


반응형

댓글()

InnoDB 사용 여부 확인하기

리눅스/MySQL|2015. 1. 16. 10:57
반응형

mysql 로그인 후 아래와 같은 쿼리를 이용합니다.

 

mysql> show variables like 'have_innodb';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
have_innodb   | YES    |
+---------------+-------+
1 row in set (0.01 sec)

반응형

댓글()

MySQL 5.1.x 설치시 구동 에러

리눅스/MySQL|2015. 1. 16. 10:57
반응형

[에러메세지]
090414 13:15:45 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
090414 13:22:28 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
090414 13:22:28 [ERROR] /usr/local/mysql/libexec/mysqld: unknown option '--skip-federated'
090414 13:22:28 [ERROR] Aborting

090414 13:22:28 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete

 

[해결책]
/etc/my.cnf 수정
skip-federated 부분을 주석처리 합니다.


MySQL 재가동을 합니다.

반응형

댓글()

[ERROR] Can't start server: can't create PID file: No such file or directory

리눅스/MySQL|2015. 1. 16. 10:56
반응형

에러 종류
081223 10:13:55 
[ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
081223 10:13:55 [ERROR] Can't start server: can't create PID file: No such file or directory
081223 10:13:55  mysqld ended 


확인 결과
/var/run/mysqld/mysqld.pid 를 생성하지 못해서 에러가 생김


처리 방법
/var/run 아래에 mysqld 디렉토리 생성 후 소유권을 줌으로써 해결

[root@localhost run]# cd /var/run
[root@localhost run]# mkdir mysqld
[root@localhost run]# chown mysql mysqld
[root@localhost run]# chgrp mysql mysqld 



[출처] [Errcode: 2] Can't create/write to file '/var/run/mysqld/mysqld.pid'|작성자 앙마


반응형

'리눅스 > MySQL' 카테고리의 다른 글

InnoDB 사용 여부 확인하기  (0) 2015.01.16
MySQL 5.1.x 설치시 구동 에러  (0) 2015.01.16
MySQL 6.0.6 (alpha) 설치하기  (0) 2015.01.16
MySQL 4.x 버전 이상 old_password 문제  (0) 2015.01.16
슬로우 쿼리 로그 남기는법  (0) 2015.01.16

댓글()

MySQL 6.0.6 (alpha) 설치하기

리눅스/MySQL|2015. 1. 16. 10:56
반응형

mysql 을 tar xzvf 로 푼다.
압축을 푼 mysql 을 /usr/local/ 로 이동을 하되 디렉토리 명을 mysql 로 변경한다.
# mv ./mysql-6.0.9~~ /usr/local/mysql 

[설치 시작]
# groupadd mysql
# useradd -g mysql mysql
# cd /usr/local
# chown -R root:root mysql
# cd mysql 
# ./scripts/mysql_install_db --user=mysql
# chown -R mysql:mysql data
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysql

# vi /etc/rc.d/init.d/mysql
basedir=/usr/local/mysql 로 설정 확인
datadir=/usr/local/mysql/data 로 설정 확인 

# /etc/rc.d/init.d/mysql start

./bin/mysql -uroot 엔터로 mysql 에 잘 접속 되는지 확인해 보자. 잘되면 오케이~~~


원문 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=62950

반응형

댓글()