1.

 : https://dev.mysql.com/downloads/workbench/?aktime=1383874389

 : Go to Download Page 버튼 클릭


2.

 : OS 환경에 맞는 버전을 확인 후 Download 버튼 클릭


3.


4.


5.


6.


7.


8.


* Windows 환경에 따라 다음의 패키지 설치가 필요할 수 있음


9.


10.



데이터베이스 생성

1.

1
2
create database python;
 
cs

python : 생성하려는 데이터베이스 명칭


2. 확인

 2-1. exec

1
2
show databases;
 
cs


 2-2. result


사용자 추가

3.

1
2
create user 'python'@'%' identified by '****';
 
cs
python : 추가하려는 사용자 명칭
% : 접근 허용 가능한 호스트를 지정. %는 모든 호스트에서 접근 가능함을 의미.
**** : 해당 계정의 비밀번호를 입력

4. 확인

 4-1.

1
2
use mysql;
 
cs


 4-2.

1
2
select * from user;
 
cs


 4-3.


DB 접근 권한 부여

5.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.22-0ubuntu0.16.04.1 (Ubuntu)
 
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>
 
cs


6.

1
2
3
mysql> grant all on python.* to python@'%' identified by '****' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
cs

python 데이터베이스에 python 계정 및 비밀번호로 접근 할당한다는 의미입니다.

**** : 해당 계정의 비밀번호


7. 접속 확인


'Database > MySQL' 카테고리의 다른 글

MySQL Workbench 설치  (0) 2018.09.28
root 계정 외부 접근 권한 할당  (0) 2018.07.03
windows 10 mysql 설치  (0) 2018.07.03
ERROR 1396  (0) 2018.01.15
계정 생성 및 비밀번호와 권한 추가 혹은 변경  (0) 2017.11.02


* Client OS IP: 192.168.0.22


* Server OS IP: 192.168.0.21


1. 권한이 허용되지 않은 상태에서 접근 시


2. Server Side

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.22-0ubuntu0.16.04.1 (Ubuntu)
 
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>
 
cs


3.

1
2
3
mysql> grant all privileges on *.* to 'root'@'%' identified by '****';
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
cs

root : 외부 접속을 위한 권한을 허용할 계정

**** : 해당 계정의 비밀번호


4.

1
2
3
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
cs


5.

1
2
3
mysql> exit
Bye
 
cs


6. Client Side

* 위와 같이 접속이 되지 않을 경우 mysql 설치 시 기본적으로 local 접속만 허용되도록 설정되어 있기 때문에 외부 허용 설정을 해주어야 합니다.


'Database > MySQL' 카테고리의 다른 글

MySQL Workbench 설치  (0) 2018.09.28
데이터베이스와 유저 생성, 권한 할당  (0) 2018.07.03
windows 10 mysql 설치  (0) 2018.07.03
ERROR 1396  (0) 2018.01.15
계정 생성 및 비밀번호와 권한 추가 혹은 변경  (0) 2017.11.02


1.

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


2.


3.


4.


5.


* 다음의 요구 사항에 충족하기 위해서 아래의 링크로 이동하여 python27을 설치해야 합니다. 설치 시 버전 주의!!!

 : python 2.7.x 설치


* 위의 요구 조건에 충족되지 못할 경우 "Next" 버튼 클릭 시 아래와 같은 메시지가 출력됩니다.


7.


8.


9.


10.


11.


12.


13.

* 기존에 구축된 플랫폼과 연동 혹은 8.x 버전을 지원하지 않는 플랫폼과 연동 시에 Legacy Authentication Method 사용을 추천!!!


14.


15.


16.


17.


18.


19.


20.


21.


22.


23.


24.


25.


26.


27.

 27-1.


 27-2.


28.


29.



아래와 같은 에러 발생 시

1
2
ERROR 1396 (HY000): Operation CREATE USER failed for 'test'@'%'
 
cs



mysql.db 혹은 mysql.user 테이블의 데이터 무결성이 깨졌기 때문에 발성하는 것으로 기존의 user 테이블에 해당 user가 존재할 가능성이 있습니다.

mysql.user 테이블에서 해당 user의 존재 여부를 확인 후 존재할 경우 삭제하고 재생성을 하거나 아니면 기존의 권한을 수정하는 방법으로 해결할 수 있습니다.




1. 계정을 생성 혹은 추가합니다.

 : 실행

1
2
create user board;
 
cs

* board 에 해당하는 부분에 생성하고자 하는 계정 이름을 입력하세요.

 : 결과

* 참고로 기존에 생성하려는 사용자 계정 이름이 존재할 경우 발생하는 에러는 다음과 같습니다.



2. 비밀번호를 변경하기 전에 변경하려는 계정을 확인합니다.

 : 실행

1
2
select host, user, authentication_string from mysql.user;
 
cs

* 계정과 관련해서 보다 더 자세한 결과 값을 알고 싶다면 "host, user, authentication_string" 대신에 * 로 변경하여 조회하세요.

* authentication_string 은 비밀번호이며 암호화되어 보여지기 때문에 직접적으로 알 수 없습니다.


 : 결과

* 위의 결과로 미루어 보아 board 계정에 비밀번호가 설정되어 있지 않습니다. 이후의 과정에서 비밀번호를 변경 혹은 추가하겠습니다.


3. board 계정의 비밀번호를 변경합니다.

 : 실행

1
2
3
set password for 'board'@'%' = password('****');
flush privileges;
 
cs

* 'board' 의 자리에 계정 이름을 입력합니다.

* '%' 는 호스트 이름을 입력합니다. 특정 호스트를 지정할 경우에 사용합니다.

* '****' 은 비밀번호를 입력합니다.

* flush privileges; 는 실행 후 바로 반영될 수 있도록 적용하는 명령어입니다.


 : 결과



4. 다시 계정 정보를 확인합니다.

 : 실행

1
2
select host, user, authentication_string from mysql.user where user='board';
 
cs


 : 결과

* 위의 결과로 미루어 보아 비밀번호가 잘 생성되었음을 짐작할 수 있습니다.



5. 이후는 계정의 권한을 설정합니다.

 : 실행

1
2
3
grant all privileges on *.* to 'board'@'%' identified by '****';
flush privileges;
 
cs

* 'board' 에 권한을 주고자 하는 계정 이름을 입력합니다.

* '%' 에 특정 호스트 이름을 지정할 경우 입력합니다.

* '****' 에 비밀번호를 입력합니다.

* flush privileges; 는 실행 후 바로 반영될 수 있도록 적용하는 명령어입니다.


 : 결과



6. 해당 계정의 권한을 확인합니다.

 : 실행

1
2
show grants for board;
 
cs

* board 에 권한을 확인하고자 하는 계정 이름을 입력합니다.


 : 결과



'Database > MySQL' 카테고리의 다른 글

windows 10 mysql 설치  (0) 2018.07.03
ERROR 1396  (0) 2018.01.15
Linux 환경에서 MySQL 설치  (0) 2017.10.11
해당 데이터베이스 내에 모든 테이블 조회  (0) 2017.10.11
MySQL 외부 접속 허용  (0) 2017.10.10


1. MySQL 최신 버전 확인

1
2
3
4
5
6
7
8
9
10
$ sudo apt-cache search mysql-server
mysql-server - MySQL database server (metapackage depending on the latest version)
mysql-server-5.- MySQL database server binaries and system database setup
mysql-server-core-5.- MySQL database server binaries
auth2db - Powerful and eye-candy IDS logger, log viewer and alert generator
mariadb-server-10.- MariaDB database server binaries
mariadb-server-core-10.- MariaDB database core server files
percona-server-server-5.- Percona Server database server binaries
percona-xtradb-cluster-server-5.- Percona XtraDB Cluster database server binaries
 
cs

* "sudo apt-cache search mysql-server" 버전을 확인합니다.



2. 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
$ sudo apt-get install mysql-server-5.7
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.0-5
  libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
  libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl
  libtimedate-perl liburi-perl mysql-client-5.mysql-client-core-5.mysql-common
  mysql-server-core-5.7
Suggested packages:
  libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca
The following NEW packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.0-5
  libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
  libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl
  libtimedate-perl liburi-perl mysql-client-5.mysql-client-core-5.mysql-common
  mysql-server-5.mysql-server-core-5.7
upgraded, 20 newly installed, to remove and not upgraded.
Need to get 18.MB of archives.
After this operation, 162 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mysql-common all 5.7.19-0ubuntu0.16.04.1 [15.7 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libaio1 amd64 0.3.110-2 [6,356 B]
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mysql-client-core-5.7 amd64 5.7.19-0ubuntu0.16.04.1 [6,020 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mysql-client-5.7 amd64 5.7.19-0ubuntu0.16.04.1 [1,654 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mysql-server-core-5.7 amd64 5.7.19-0ubuntu0.16.04.1 [7,588 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libevent-core-2.0-5 amd64 2.0.21-stable-2ubuntu0.16.04.1 [70.6 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mysql-server-5.7 amd64 5.7.19-0ubuntu0.16.04.1 [2,463 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libhtml-tagset-perl all 3.20-2 [13.5 kB]
Get:http://us.archive.ubuntu.com/ubuntu xenial/main amd64 liburi-perl all 1.71-1 [76.9 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libhtml-parser-perl amd64 3.72-1 [86.1 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libcgi-pm-perl all 4.26-1 [185 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libfcgi-perl amd64 0.77-1build1 [32.3 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libcgi-fast-perl all 1:2.10-1 [10.2 kB]
Get:14 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB]
Get:15 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libhtml-template-perl all 2.95-2 [60.4 kB]
Get:16 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB]
Get:17 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB]
Get:18 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libio-html-perl all 1.001-1 [14.9 kB]
Get:19 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB]
Get:20 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libhttp-message-perl all 6.11-1 [74.3 kB]
Fetched 18.MB in 7s (2,612 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 63037 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.19-0ubuntu0.16.04.1_all.deb ...
Unpacking mysql-common (5.7.19-0ubuntu0.16.04.1) ...
Selecting previously unselected package libaio1:amd64.
Preparing to unpack .../libaio1_0.3.110-2_amd64.deb ...
Unpacking libaio1:amd64 (0.3.110-2) ...
Selecting previously unselected package mysql-client-core-5.7.
Preparing to unpack .../mysql-client-core-5.7_5.7.19-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-client-core-5.(5.7.19-0ubuntu0.16.04.1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.19-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-client-5.(5.7.19-0ubuntu0.16.04.1) ...
Selecting previously unselected package mysql-server-core-5.7.
Preparing to unpack .../mysql-server-core-5.7_5.7.19-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-server-core-5.(5.7.19-0ubuntu0.16.04.1) ...
Selecting previously unselected package libevent-core-2.0-5:amd64.
Preparing to unpack .../libevent-core-2.0-5_2.0.21-stable-2ubuntu0.16.04.1_amd64.deb ...
Unpacking libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.19-0ubuntu0.16.04.1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 63205 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-server-5.(5.7.19-0ubuntu0.16.04.1) ...
Selecting previously unselected package libhtml-tagset-perl.
Preparing to unpack .../libhtml-tagset-perl_3.20-2_all.deb ...
Unpacking libhtml-tagset-perl (3.20-2) ...
Selecting previously unselected package liburi-perl.
Preparing to unpack .../liburi-perl_1.71-1_all.deb ...
Unpacking liburi-perl (1.71-1) ...
Selecting previously unselected package libhtml-parser-perl.
Preparing to unpack .../libhtml-parser-perl_3.72-1_amd64.deb ...
Unpacking libhtml-parser-perl (3.72-1) ...
Selecting previously unselected package libcgi-pm-perl.
Preparing to unpack .../libcgi-pm-perl_4.26-1_all.deb ...
Unpacking libcgi-pm-perl (4.26-1) ...
Selecting previously unselected package libfcgi-perl.
Preparing to unpack .../libfcgi-perl_0.77-1build1_amd64.deb ...
Unpacking libfcgi-perl (0.77-1build1) ...
Selecting previously unselected package libcgi-fast-perl.
Preparing to unpack .../libcgi-fast-perl_1%3a2.10-1_all.deb ...
Unpacking libcgi-fast-perl (1:2.10-1) ...
Selecting previously unselected package libencode-locale-perl.
Preparing to unpack .../libencode-locale-perl_1.05-1_all.deb ...
Unpacking libencode-locale-perl (1.05-1) ...
Selecting previously unselected package libhtml-template-perl.
Preparing to unpack .../libhtml-template-perl_2.95-2_all.deb ...
Unpacking libhtml-template-perl (2.95-2) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package libhttp-date-perl.
Preparing to unpack .../libhttp-date-perl_6.02-1_all.deb ...
Unpacking libhttp-date-perl (6.02-1) ...
Selecting previously unselected package libio-html-perl.
Preparing to unpack .../libio-html-perl_1.001-1_all.deb ...
Unpacking libio-html-perl (1.001-1) ...
Selecting previously unselected package liblwp-mediatypes-perl.
Preparing to unpack .../liblwp-mediatypes-perl_6.02-1_all.deb ...
Unpacking liblwp-mediatypes-perl (6.02-1) ...
Selecting previously unselected package libhttp-message-perl.
Preparing to unpack .../libhttp-message-perl_6.11-1_all.deb ...
Unpacking libhttp-message-perl (6.11-1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu19) ...
Setting up libaio1:amd64 (0.3.110-2) ...
Setting up mysql-client-core-5.(5.7.19-0ubuntu0.16.04.1) ...
Setting up mysql-client-5.(5.7.19-0ubuntu0.16.04.1) ...
Setting up mysql-server-core-5.(5.7.19-0ubuntu0.16.04.1) ...
Setting up libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) ...
Setting up mysql-server-5.(5.7.19-0ubuntu0.16.04.1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Renaming removed key_buffer and myisam-recover options (if present)
Setting up libhtml-tagset-perl (3.20-2) ...
Setting up liburi-perl (1.71-1) ...
Setting up libhtml-parser-perl (3.72-1) ...
Setting up libcgi-pm-perl (4.26-1) ...
Setting up libfcgi-perl (0.77-1build1) ...
Setting up libcgi-fast-perl (1:2.10-1) ...
Setting up libencode-locale-perl (1.05-1) ...
Setting up libhtml-template-perl (2.95-2) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libhttp-date-perl (6.02-1) ...
Setting up libio-html-perl (1.001-1) ...
Setting up liblwp-mediatypes-perl (6.02-1) ...
Setting up libhttp-message-perl (6.11-1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for systemd (229-4ubuntu19) ...
Processing triggers for ureadahead (0.100.0-19) ...
 
 
cs

* 설치 진행 중 "Do you want to continue? [Y/n]" 와 같이 계속 진행할 것인지 묻는 말이 나오면 Y를 눌러 계속 진행합니다.



3. root 계정 비밀번호 설정



4. MySQL 접속

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ mysql -root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.19-0ubuntu0.16.04.(Ubuntu)
 
Copyright (c) 20002017, 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>
 
cs

* 설치가 완료된 후에 접속 여부를 확인해봅니다.


'Database > MySQL' 카테고리의 다른 글

windows 10 mysql 설치  (0) 2018.07.03
ERROR 1396  (0) 2018.01.15
계정 생성 및 비밀번호와 권한 추가 혹은 변경  (0) 2017.11.02
해당 데이터베이스 내에 모든 테이블 조회  (0) 2017.10.11
MySQL 외부 접속 허용  (0) 2017.10.10


1
2
3
SELECT * 
FROM   information_schema.tables 
WHERE  table_schema = 'mysql'
cs


* 애스터리스크 부분에 필요한 칼럼명만 추려서 보는 것을 추천합니다.

* mysql 부분에 해당하는 데이터베이스명을 입력합니다.


'Database > MySQL' 카테고리의 다른 글

windows 10 mysql 설치  (0) 2018.07.03
ERROR 1396  (0) 2018.01.15
계정 생성 및 비밀번호와 권한 추가 혹은 변경  (0) 2017.11.02
Linux 환경에서 MySQL 설치  (0) 2017.10.11
MySQL 외부 접속 허용  (0) 2017.10.10


1. mysqld.cnf 파일을 수정합니다.


1
2
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
 
cs


* MySQL 서버는 초기 설치 시에 bind-address 가 127.0.0.1 로 되어 있기 때문에 원격 접속이 어렵습니다.



2. mysqld.cnf 파일을 수정 후에 mysql 서버를 재시작합니다.


1
2
$ sudo /etc/init.d/mysql restart 
 
cs



3. mysql 에 접속합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql -root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.19-0ubuntu0.16.04.(Ubuntu)
 
Copyright (c) 20002017, 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>
 
cs



4. root 계정을 외부 접속이 가능하도록 권한을 부여합니다.


1
2
mysql> grant all privileges on *.* to 'root'@'%' identified by '****';
 
cs



5. 부여된 권한이 적용될 수 있도록 갱신을 합니다.


1
2
mysql> flush privileges;
    
cs


* flush privileges 는 grant 테이블을 reload 함으로써 변경사항을 바로 적용해주는 명령어입니다.



+ Recent posts