Database/MySQL

[MySQL] Linux 일반 사용자계정에 MySQL 설치하기

꽁담 2018. 5. 26. 12:34

root 계정을 사용하지 않고 Linux 에 MySQL 서버를 설치하는 방법입니다.

나중에 MySQL 을 지우려고 하는경우, 사용자 계정만 지워주면 되기때문에 편리합니다.



1. My-SQL 사이트에 접속하여 소스를 다운로드 받습니다.

https://dev.mysql.com/downloads/mysql/



2. MySQL 을 설치 할 사용자 계정을 생성합니다.

# useradd mysql
# passwd mysql
# su - mysql


3. MySQL 설치 시 필요한 폴더를 생성합니다.

$ mkdir mysql $ ls mysql-boost-5.7.20.tar.gz $ tar xzf mysql-boost-5.7.20.tar.gz $ mkdir -r etc/rc.d/init.d $ mkdir data $ mkdir -r local/mysql $ mkdir socket $ cd mysql-5.7.20


4. MySQL 을 컴파일합니다.

$ cmake \ -DDOWNLOAD_BOOST=1\ -DWITH_BOOST=/home/mysql/mysql/mysql-5.7.20/boost/boost_1_59_0\ -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql/local/mysql\ -DMYSQL_DATADIR=/home/mysql/mysql/data\ -DMYSQL_UNIX_ADDR=/home/mysql/mysql/socket/mysql.sock\ -DSYSCONFDIR=/home/mysql/mysql/etc\ -DDOWNLOAD_BOOST=1\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci $ make && make install


5. 구동에 필요한 환경을 설정합니다. (1)

$ vi ~/.bash_profile export MYSQL_HOME=/home/mysql/mysql/local/mysql export PATH=$MYSQL_HOME/bin:$PATH export LD_LIBRARY_PATH=$MYSQL_HOME/lib:$LD_LIBRARY_PATH $ . ~/.bash_profile $ cd /home/mysql/mysql/local/mysql/support-files $ cp mysql.server /home/mysql/mysql/etc/rc.d/init.d/mysqld

$ cd /home/mysql/mysql/local/mysql/mysql-test/include $ cp default_mysqld.cnf /home/mysql/mysql/etc/my.cnf


6. 구동에 필요한 환경을 설정합니다. (2)

$ vi /home/mysql/mysql/etc/rc.d/init.d/mysqld basedir=/home/mysql/mysql/local/mysql datadir=/home/mysql/mysql/data # Get arguments from the my.cnf file, conf=/home/mysql/mysql/etc/my.cnf

$ vi /home/mysql/mysql/etc/my.cnf [mysqld] socket=/home/mysql/mysql/socket/mysql.sock datadir=/home/mysql/mysql/data basedir = /home/mysql/mysql/local/mysql log-error=/home/mysql/mysql/data/mysqld.log pid-file=/home/mysql/mysql/socket/mysqld.pid server-id=master-01 [mysqld_safe] log-error=/home/mysql/mysql/data/mysqld.log pid-file=/home/mysql/mysql/socket/mysqld.pid


7. MySQL 을 설치합니다.

$ mysqld --initialize


8. MySQL 을 구동합니다.

   --skip-grant-tables 옵션을 부여하면 비밀번호 없이 로그인 할 수 있습니다.

$ cd /home/mysql/mysql/local/mysql/support-files $ ./mysql.server start --skip-grant-tables


9. MySQL 에 접속합니다.

$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.20-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)