ySQL 노트

8802 단어 LinuxMySQL
한 페이지에서 여러 DB에 대한 정보를 정리하고 싶지만 복잡하고 이해하기 어려워진다

1. 설치 및 제거


1-1. 설치 준비


yum 저장소 설치
https://dev.mysql.com/downloads/repo/yum/
리본에서 를 클릭합니다.
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

1-2 설치

yum install mysql-community-server
또한 다음과 같은 의존 관계가 설치되어 있습니다.
mysql-community-client
mysql-community-common
mysql-community-libs

1-2-1. Windows Edition 설치 지침


Windows 버전에서 MySQL8을 설치할 때 설치 대상을 선택할 수 없는 경우가 있습니다.
설치할 모듈의 화면을 선택한 후 설치 대상을 선택하는 화면이 나타나지 않았습니다
[Execute] 버튼의 화면이 표시되는 경우 브라우저에 숨겨진 파일을 표시하도록 설정한 다음 "C:\ProgramData\MySQL\MySQL Server8.0\Data"폴더를 만들어 해결합니다.

1-3. 제거

yum remove mysql-community-server
이 데이터만 삭제되지 않습니다.
데이터 삭제
rm -rf /var/lib/mysql
실행

1-4. 설치 확인

yum list installed |grep mysql

2. 시작 및 중지


2-1. 서비스 시작


RHEL7(MySQL8 or MySQL5.6)

systemctl start mysqld.service

RHEL6(MySQL8 or MySQL5.6)

service mysqld start

2-2 첫 로그인


MySQL8(RHEL7 or RHEL6)

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p

MySQL5.6(RHEL7 or RHEL6)

mysql -uroot

2-3. 중지


RHEL7(MySQL8 or MySQL5.6)

systemctl stop mysqld.service

RHEL6(MySQL8 or MySQL5.6)

service mysqld stop

2-4. 시작 상황 확인


포트 번호 확인

netstat -tlpn
만약 3306이listen이라면, 그것은 이동할 것이다
옵션의 의미는
t: tcp 표시
l: 연결 대기 중 기본값 생략
p: 프로그램의 PID 및 이름 표시
n: 이름 대신 숫자 표시

3. 사용자 등록


3-1.root 암호 변경


MySQL5.6

update mysql.user set password=password('hogepasswd') where user = 'root';
flush privileges;

MySQL8

SET GLOBAL validate_password.length=4;
SET GLOBAL validate_password.policy=LOW;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hogepasswd';

3-2 일반 사용자 등록


MySQL5.6

grant all privileges on *.* to hogeuser@'%' identified by 'hogepasswd';
grant all privileges on *.* to hogeuser@localhost identified by 'hogepasswd';
'%'만 이 터미널에서 연결할 수 없기 때문에(※)'localhost'도 지정합니다
※ "-h"이면 연결 가능

MySQL8

CREATE USER  hogeuser@localhost IDENTIFIED WITH mysql_native_password BY 'hogepasswd';
GRANT ALL PRIVILEGES on *.* to hogeuser@localhost;
CREATE USER  hogeuser@'%'IDENTIFIED WITH mysql_native_password BY 'hogepasswd';
GRANT ALL PRIVILEGES on *.* to hogeuser@'%';

4. 연결


4-1. 연결 명령

mysql -u <ユーザ名> -p<パスワード> -h <ホスト名> <DB名>
-p 및 암호 값은 공백이 없습니다.
다른 건 공간을 비워도 안 비워도 괜찮아요.

4-2 접속 권한 확인


MySQL5.6

select user , host from mysql.user;

5.ODBC


5-1.ODBC 설치

yum install mysql-connector-odbc

5-2.odbc.ini

[MySQL]
Driver = /usr/lib64/libmyodbc8a.so
SERVER = localhost
PORT = 3306
USER = hogeuser
Password = hogepasswd
Database = hogedb
Charset = CP932
Option = 2

6. 문자 코드


6-1./etc/my.cnf


[mysqld]
character_set_server=sjis
default_authentication_plugin=mysql_native_password
[mysql]
default_character_set=sjis

6-2 확인 방법


show variables like "chara%";

7.잘못된 대처


7-1.ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


"/etc/my.ini"의 [mysqld]에 다음 내용을 추가합니다
/etc/my.cnf
default_authentication_plugin=mysql_native_password
validate_password.length=3
validate_password.mixed_case_count=0
validate_password.policy=LOW
my.루트 비밀번호를 변경한 후cnf를 변경하지 않으면 오류가 발생합니다.
아니면 my.cnf를 바꾸지 않아도 아래는 괜찮아요.(루트의 암호를 변경해야 함)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MySQL_80';
uninstall component 'file://component_validate_password';

7-2.ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement


다음 명령을 통해 설정이 정확한지 확인합니다.
select @ @secure_file_priv ;

8. 기타


8-1. IPv6 부팅을 IPv4로 변경



/etc/my.cnf의 [mysqld]에서 "bind-address=0.0.0"을 지정합니다.
https://dev.mysql.com/doc/refman/5.6/ja/ipv6-server-config.html

좋은 웹페이지 즐겨찾기