티스토리 뷰
728x90
출처
Ubuntu server에 mysql 5.5.x 설치하기 -pupustory@- - Tistory
[Linux/CentOS] Mysql을 컴파일해서 설치해보자 - AT BLOG
리눅스 정보 조회
출처 : 리눅스 종류 확인, 리눅스 버전 확인 - 제타위키
$ cat /etc/*-release | uniq DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS" NAME="Ubuntu" VERSION="14.04.3 LTS, Trusty Tahr" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 14.04.3 LTS" VERSION_ID="14.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
리눅스 비트 확인
$ getconf LONG_BIT 64
관련패키지 설치
$ sudo apt-get update $ sudo apt-get install gcc g++ libncurses5-dev libxml2-dev openssl libssl-dev curl libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libsasl2-dev autoconf libncurses5-dev
MySQL 계정 만들기
$ sudo groupadd mysql $ sudo useradd -g mysql -s /bin/bash -m mysql
cmake 설치
$ sudo apt-get install cmake
MySQL 소스 다운로드, 압축해제, 컴파일, 설치
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz $ tar xvf mysql-boost-5.7.23.tar.gz $ cd mysql-5.7.23 $ sudo cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \ -DMYSQL_DATADIR=/usr/local/mysql57/data \ -DMYSQL_UNIX_ADDR=/usr/local/mysql57/mysql.sock \ -DSYSCONFDIR=/usr/local/mysql57 \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_USER=mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DDOWNLOAD_BOOST=0 -DWITH_BOOST=./boost $ sudo make $ sudo make install
환경설정
$ sudo vi /usr/local/mysql57/my.cnf
[mysqld] # port=3306 # basedir=/usr/local/mysql57 # datadir=/usr/local/mysql57/data # pid-file=/usr/local/mysql57/mysqld.pid # log_error=/usr/local/mysql57/mysql_error.log # lc-messages-dir=/usr/local/mysql57/share group_concat_max_len = 15360 event_scheduler = ON init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 character-set-server=utf8 collation-server=utf8_general_ci # table_cache=1024 max_connections=2048 max_user_connections=500 max_connect_errors=10000 wait_timeout=300 query_cache_type = 1 query_cache_size = 128M query_cache_limit = 5M slow_query_log long_query_time=3 max_allowed_packet=16M sort_buffer_size = 2M # skip-innodb skip-name-resolve sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION [mysql] default-character-set=utf8 [client] default-character-set=utf8
MySQL 설치 디렉토리 mysql 계정으로 권한 수정
$ sudo chown -R mysql:mysql /usr/local/mysql57
MySQL 데이터베이스 초기화 (mysql 계정으로 실행)
$ cd /usr/local/mysql57 $ bin/mysql_install_db --no-defaults --user=mysql --datadir=/usr/local/mysql57/data --basedir=/usr/local/mysql57 -v 2018-10-03 15:26:47 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2018-10-03 15:26:47 [NOTE] Creating data directory /usr/local/mysql57/data 2018-10-03 15:26:47 [NOTE] Generating random password to /home/mysql/.mysql_secret...done. 2018-10-03 15:26:47 [NOTE] Executing /usr/local/mysql57/bin/mysqld --no-defaults --bootstrap --datadir=/usr/local/mysql57/data --lc-messages-dir=/usr/local/mysql57/share --lc-messages=en_US --basedir=/usr/local/mysql57 2018-10-03 15:26:48 [NOTE] Creating system tables...done. 2018-10-03 15:26:48 [NOTE] Filling system tables with data...done. 2018-10-03 15:26:49 [NOTE] Filling help table with data...done. 2018-10-03 15:26:49 [NOTE] Creating user for internal session service...done. 2018-10-03 15:26:49 [NOTE] Creating default user root@localhost 2018-10-03 15:26:49 [NOTE] Creating default proxy root@localhost 2018-10-03 15:26:49 [NOTE] Creating sys schema 2018-10-03 15:26:49 [NOTE] done. 2018-10-03 15:26:51 [WARNING] The bootstrap log isn't empty: 2018-10-03 15:26:51 [WARNING] 2018-10-03T06:26:47.586650Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2018-10-03 15:26:51 [NOTE] Generating SSL Certificates
MySQL 서비스 등록
서비스 mysqld 파일 복사
$ sudo cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld57
mysqld 수정
$ sudo vi /etc/init.d/mysqld57
mysqld파일을 열어서 basedir에 mysql이 설치된 디렉토리와 데이터 디렉토리(datadir)를 설정한다.
basedir=/usr/local/mysql57 datadir=/usr/local/mysql57/data
mysqld 서비스 등록
$ sudo update-rc.d mysqld57 defaults
mysqld 서비스 실행
$ sudo systemctl start mysqld57.service $ sudo systemctl status mysqld57.service ● mysqld57.service - LSB: start and stop MySQL Loaded: loaded (/etc/init.d/mysqld57; generated) Active: active (running) since Wed 2018-10-03 15:37:07 KST; 6min ago Docs: man:systemd-sysv-generator(8) Process: 1042 ExecStart=/etc/init.d/mysqld57 start (code=exited, status=0/SUCCESS) Tasks: 28 (limit: 4915) CGroup: /system.slice/mysqld57.service ├─1071 /bin/sh /usr/local/mysql57/bin/mysqld_safe --datadir=/usr/local/mysql57/data --pid-file=/usr/local/mysql57/data/bluesa └─1469 /usr/local/mysql57/bin/mysqld --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/m 10월 03 15:37:06 bluesanta-ubuntu systemd[1]: Starting LSB: start and stop MySQL... 10월 03 15:37:06 bluesanta-ubuntu mysqld57[1042]: Starting MySQL 10월 03 15:37:07 bluesanta-ubuntu mysqld57[1042]: . * 10월 03 15:37:07 bluesanta-ubuntu systemd[1]: Started LSB: start and stop MySQL. $ sudo systemctl stop mysqld57.service
root 암호 초기화
$ bin/mysqld_safe --skip-grant-tables & [1] 21756 mysql@bluesanta-ubuntu:/usr/local/mysql57$ 2018-10-03T06:32:29.844112Z mysqld_safe Logging to '/usr/local/mysql57/data/bluesanta-ubuntu.err'. 2018-10-03T06:32:29.873395Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql57/data
mysql@bluesanta-ubuntu:/usr/local/mysql57$ bin/mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.23-log Source distribution Copyright (c) 2000, 2018, 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> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set authentication_string = password('manager') where user = 'root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye
ERROR 1820 (HY000) 오류 해결
mysql> select 1; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> SET PASSWORD = PASSWORD('sql'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql$gt; select 1; +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.00 sec) mysql>
사용자 추가
mysql> create user 'user1'@'%' identified by 'userpw'; mysql> grant all privileges on *.* to 'user1'@'%' with grant option; mysql> flush privileges;
사용자 추가
create user 'terecal'@'%' identified by '****'; GRANT ALL privileges ON terecal_db.* TO 'terecal'@'%'; flush privileges;
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- JavaScript
- Java
- Spring MVC
- 지스타2007
- flex
- NDK
- Xcode
- 전예희
- 튜닝쇼 2008
- 서울오토살롱
- koba2010
- oracle
- Delphi
- ble
- ubuntu
- 동경
- MySQL
- KOBA
- android
- 일본여행
- Mac
- 레이싱모델 익스트림 포토 페스티벌
- Delphi Tip
- 송주경
- SAS
- BPI-M4
- ffmpeg
- Linux
- sas2009
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함