본문 바로가기

Mysql

[Mysql]설치

11)<mysql 5.0.15>
CFLAGS="-static -O2 -march=i686 -funroll-loops" CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --calstatedir=/usr/local/mysql/data --disable-shared --enable-assembler --with-thread-safe-client --with-mysqld-user="mysql" --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-readline --without-debug --without-docs --without-bench --with-charset=euckr && make -j2 && make install

※MySQL 4.1.X 에서는 --with-charset=euckr

메모리에 따라서 환경 설정 파일들을 복사해 줍니다.
my-huge.cnf 1~2G
my-large.cnf 512M
my-medium.cnf 128M~ 256M
my-small.cnf 64M 이하
cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf

※innodb 사용시
vi /etc/my.cnf

innodb_flush_log_at_trx_commit=0

innodb_buffer_pool_size=850M (server ram 의 50%)


<기본 db 생성 >
/usr/local/mysql/bin/mysql_install_db

<mysql 운영 사용자 생성>
useradd -M mysql

<data 디렉토리를 mysql이라는 사용자 권한으로 바꾸어 주어야 합니다>
chown -R mysql:mysql /usr/local/mysql/data

<아무곳에서나 mysql 및 mysqldump 명령어를 실행가능하게 심볼릭 링크를 걸어줍니다.(웹호스팅시에 필요)>
ln -s /usr/local/mysql/bin/mysql /usr/bin/
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/

<mysql 데몬을 실행>
/usr/local/mysql/bin/mysqld_safe &

<mysql root 비밀번호를 설정>
/usr/local/mysql/bin/mysqladmin -u root password "암호"

mysql -u root -p
 
<mysql 접속후 계정 생성>
mysql> use mysql
mysql> create database DB명;
mysql> desc db; (n갯수 확인) -> n이 DB권한 계정와 DB연결시 y 갯수와 동일
mysql> desc db;

mysql> desc db;
+-----------------------+---------------+------+-----+---------+-------+
| Field                 | Type          | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host                  | char(60)      | NO   | PRI |         |       |
| Db                    | char(64)      | NO   | PRI |         |       |
| User                  | char(16)      | NO   | PRI |         |       |
| Select_priv           | enum('N','Y') | NO   |     | N       |       |
| Insert_priv           | enum('N','Y') | NO   |     | N       |       |
| Update_priv           | enum('N','Y') | NO   |     | N       |       |
| Delete_priv           | enum('N','Y') | NO   |     | N       |       |
| Create_priv           | enum('N','Y') | NO   |     | N       |       |
| Drop_priv             | enum('N','Y') | NO   |     | N       |       |
| Grant_priv            | enum('N','Y') | NO   |     | N       |       |
| References_priv       | enum('N','Y') | NO   |     | N       |       |
| Index_priv            | enum('N','Y') | NO   |     | N       |       |
| Alter_priv            | enum('N','Y') | NO   |     | N       |       |
| Create_tmp_table_priv | enum('N','Y') | NO   |     | N       |       |
| Lock_tables_priv      | enum('N','Y') | NO   |     | N       |       |
| Create_view_priv      | enum('N','Y') | NO   |     | N       |       |
| Show_view_priv        | enum('N','Y') | NO   |     | N       |       |
| Create_routine_priv   | enum('N','Y') | NO   |     | N       |       |
| Alter_routine_priv    | enum('N','Y') | NO   |     | N       |       |
| Execute_priv          | enum('N','Y') | NO   |     | N       |       |
+-----------------------+---------------+------+-----+---------+-------+
20 rows in set (0.00 sec)



mysql> insert into user (host,user,password) values('localhost','계정',password('비번')); %-> 모든 ip
mysql> insert into db values('localhost','DB명','계정','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');
mysql> flush privileges;
mysql> select host, user, password from user; 로 확인..