티스토리 뷰
728x90
출처
리눅스 정보 조회
출처 : 리눅스 종류 확인, 리눅스 버전 확인 - 제타위키
# cat /etc/*-release | uniq
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
리눅스 비트 확인
# getconf LONG_BIT
64
관련패키지 설치
# sudo apt 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 계정 만들기
# groupadd mysql
# useradd -g mysql -s /bin/bash -m mysql
cmake 설치
# sudo apt install cmake pkg-config
MySQL 소스 다운로드, 압축해제, 컴파일, 설치
# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.35.tar.gz
# tar xvf mysql-boost-5.7.35.tar.gz
# cd mysql-5.7.35
# 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
# make
# make install
환경설정
# sudo vi /usr/local/mysql57/my.cnf
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
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
skip_ssl
# disable_ssl
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
MySQL 설치 디렉토리 mysql 계정으로 권한 수정
# sudo chown -R mysql:mysql /usr/local/mysql57
MySQL 데이터베이스 초기화 (mysql 계정으로 실행)
# su mysql
mysql@bluexmas:~$ cd /usr/local/mysql57
mysql@bluexmas:/usr/local/mysql57$ bin/mysql_install_db --no-defaults --user=mysql --datadir=/usr/local/mysql57/data --basedir=/usr/local/mysql57 -v
2022-01-22 13:35:54 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2022-01-22 13:35:54 [NOTE] Creating data directory /usr/local/mysql57/data
2022-01-22 13:35:54 [NOTE] Generating random password to /home/mysql/.mysql_secret...done.
2022-01-22 13:35:54 [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
2022-01-22 13:35:55 [NOTE] Creating system tables...done.
2022-01-22 13:35:55 [NOTE] Filling system tables with data...done.
2022-01-22 13:35:55 [NOTE] Filling help table with data...done.
2022-01-22 13:35:55 [NOTE] Creating user for internal session service...done.
2022-01-22 13:35:55 [NOTE] Creating default user root@localhost
2022-01-22 13:35:55 [NOTE] Creating default proxy root@localhost
2022-01-22 13:35:55 [NOTE] Creating sys schema
2022-01-22 13:35:55 [NOTE] done.
2022-01-22 13:35:57 [WARNING] The bootstrap log isn't empty:
2022-01-22 13:35:57 [WARNING] 2022-01-22T04:35:54.552623Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
MySQL 서비스 등록
서비스 mysqld 파일 복사
# cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld57
mysqld 수정
# 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 서비스 실행
# systemctl start mysqld57.service
# systemctl status mysqld57.service
[0m mysqld57.service - LSB: start and stop MySQL
Loaded: loaded (/etc/init.d/mysqld57; generated)
Active: active (exited) since Fri 2022-01-21 14:01:04 KST; 9s ago
Docs: man:systemd-sysv-generator(8)
Process: 38354 ExecStart=/etc/init.d/mysqld57 start (code=exited, status=0/SUCCESS)
Jan 21 14:01:04 threenam.cafe24.com systemd[1]: Starting LSB: start and stop MySQL...
Jan 21 14:01:04 threenam.cafe24.com mysqld57[38354]: Starting MySQL
Jan 21 14:01:04 threenam.cafe24.com mysqld57[38354]: *
Jan 21 14:01:04 threenam.cafe24.com systemd[1]: Started LSB: start and stop MySQL.
Jan 21 14:01:04 threenam.cafe24.com mysqld57[38385]: 2022-01-21T05:01:04.848201Z mysqld_safe A m>
# systemctl stop mysqld57.service
root 암호 초기화
권한을 무시하고 mysql 서버 실행
mysql@bluexmas:/usr/local/mysql57$ bin/mysqld_safe --skip-grant-tables &
[1] 37923
mysql@bluexmas:/usr/local/mysql57$ 2022-01-21T04:57:41.182676Z mysqld_safe Logging to '/usr/local/mysql57/data/threenam.cafe24.com.err'.
2022-01-21T04:57:41.199062Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql57/data
root 암호 설정
mysql@bluexmas:/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.35-log Source distribution
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
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('manager01!') 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> use mysql
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> 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> create user 'user1'@'%' identified by 'userpw';
mysql> grant all privileges on *.* to 'user1'@'%' with grant option;
mysql> flush privileges;
사용자 추가
mysql> create user 'terecal'@'%' identified by '****';
mysql> GRANT ALL privileges ON terecal_db.* TO 'terecal'@'%';
mysql> flush privileges;
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 동경
- Xcode
- Linux
- SAS
- ffmpeg
- 튜닝쇼 2008
- 지스타2007
- ubuntu
- 일본여행
- 전예희
- koba2010
- Mac
- KOBA
- 송주경
- NDK
- sas2009
- flex
- 서울오토살롱
- 레이싱모델 익스트림 포토 페스티벌
- Delphi Tip
- Spring
- JavaScript
- oracle
- ble
- android
- BPI-M4
- Java
- Delphi
- Spring MVC
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함