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; 로 확인..