MySQL 최신 매뉴얼 튜토...login
MySQL 최신 매뉴얼 튜토리얼
작가:php.cn  업데이트 시간:2022-04-15 14:04:12

MySQL 관리


MySQL 관리

MySQL 서버 시작 및 종료

Windows 시스템

Windows 시스템에서는 명령창(cmd)을 열고 MySQL 설치 디렉터리의 bin 디렉터리를 입력합니다.

시작:

cd c:/mysql/bin
mysqld --console

닫기:

cd c:/mysql/bin
mysqladmin -uroot shutdown

Linux 시스템

우선, MySQL 서버가 시작되었는지 확인하려면 다음 명령을 사용하십시오.

ps -ef | grep mysqld

MySql이 시작된 경우 위 명령은 mysql 프로세스 목록을 출력합니다. mysql이 시작되지 않은 경우 다음 명령을 사용하여 시작할 수 있습니다. mysql 서버:

root@host# cd /usr/bin./mysqld_safe &

현재 실행 중인 MySQL 서버를 종료하려면 다음 명령을 실행할 수 있습니다.

root@host# cd /usr/bin./mysqladmin -u root -p shutdownEnter password: ******

MySQL 사용자 설정

MySQL 사용자를 추가해야 하는 경우 mysql 데이터베이스의 사용자 테이블에 새 사용자를 추가하기만 하면 됩니다.

다음은 사용자 이름이 guest이고 비밀번호가 guest123인 사용자를 추가하는 예입니다. 해당 사용자는 SELECT, INSERT 및 UPDATE 작업을 수행할 권한이 있습니다.

root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;Database changedmysql> INSERT INTO user 
          (host, user, password,        
          select_priv, insert_priv, update_priv)     
          VALUES ('localhost', 'guest',           
          PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+|
 host      | user    | password        
|+-----------+---------+------------------+| 
localhost | guest | 6f8c114b58f2ce9e 
|+-----------+---------+------------------+1
 row in set (0.00 sec)

사용자 추가 MySQL에서 제공하는 PASSWORD() 함수를 이용하여 비밀번호를 암호화합니다. 위의 예에서 암호화 후 사용자 비밀번호는 6f8c114b58f2ce9e임을 확인할 수 있습니다.

참고: MySQL5.7에서는 사용자 테이블의 비밀번호가 인증_문자열로 대체되었습니다.

참고: 비밀번호() 암호화 기능은 8.0.11에서 제거되었으며 MD5() 기능으로 대체될 수 있습니다.

참고: FLUSH PRIVILEGES 문을 실행해야 합니다. 이 명령을 실행하면 인증 테이블이 다시 로드됩니다.

이 명령을 사용하지 않으면 mysql 서버를 다시 시작하지 않는 한 새로 생성된 사용자를 사용하여 mysql 서버에 연결할 수 없습니다.

사용자 생성 시 해당 권한 항목의 삽입문에서 'Y'로 설정하면 됩니다.

  • 개인정보 선택

  • 개인정보 삽입

  • 개인정보 업데이트

  • 개인정보 삭제

  • Create_priv

  • Drop_priv

  • Reload_priv

  • Shutdown_priv

  • Process_priv

  • File_priv

  • Grant_priv

  • References_priv

  • Index_priv

  • Alter_priv

사용자를 추가하는 또 다른 방법은 SQL GRANT 명령을 사용하는 것입니다. 다음 명령은 사용자 zara를 비밀번호 zara123을 사용하여 지정된 데이터베이스 TUTORIALS에 추가합니다.

root@host# mysql -u root -pEnter password:*******mysql> use mysql;Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';

위 명령은 mysql 데이터베이스의 사용자 테이블에 사용자 정보 레코드를 생성합니다.

참고: MySQL의 SQL 문은 세미콜론(;)으로 끝납니다.

/etc/my.cnf 파일 구성

일반적으로 이 구성 파일의 기본 구성은 수정할 필요가 없습니다.

[mysqld]datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock[mysql.server]user=mysql
basedir=/var/lib[safe_mysqld]err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

구성 파일에서 다양한 오류 로그 파일이 저장되는 디렉터리를 지정할 수 있습니다. 일반적으로 이러한 구성을 변경할 필요는 없습니다.

MySQL 관리 명령

다음은 Mysql 데이터베이스를 사용할 때 일반적으로 사용되는 명령입니다.

  • 사용 데이터베이스 이름:

운영할 Mysql 데이터베이스를 선택하세요. 이 명령을 사용한 후 모든 MySQL 명령은 이 데이터베이스만 대상으로 합니다.

mysql> use RUNOOB;Database changed

SHOW DATABASES:
MySQL 데이터베이스 관리 시스템의 데이터베이스 목록을 나열합니다.

mysql> SHOW DATABASES;
+--------------------+|
 Database           |
 +--------------------+
 | information_schema |
 | RUNOOB             |
 | cdcol              |
 | mysql              |
 | onethink           |
 | performance_schema |
 | phpmyadmin         |
 | test               |
 | wecenter           |
 | wordpress          |
 +--------------------+10 rows in set (0.02 sec)

SHOW TABLES:
지정된 데이터베이스의 모든 테이블을 표시합니다. 이 명령을 사용하기 전에 use 명령을 사용하여 작동할 데이터베이스를 선택해야 합니다.

mysql> use RUNOOB;Database changed
mysql> SHOW TABLES;+------------------+
| Tables_in_runoob |
+------------------+| 
employee_tbl     |
| runoob_tbl       |
| tcount_tbl       |
+------------------+3 rows in set (0.00 sec)

SHOW COLUMNS FROM 데이터 테이블:
데이터 테이블의 속성, 속성 유형, 기본 키 정보, NULL 여부, 기본값 및 기타 정보를 표시합니다.

mysql> SHOW COLUMNS FROM runoob_tbl;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+|
 runoob_id       | int(11)      | NO   | PRI | NULL    |       |
 | runoob_title    | varchar(255) | YES  |     | NULL    |       |
 | runoob_author   | varchar(255) | YES  |     | NULL    |       |
 | submission_date | date         | YES  |     | NULL    |       |
 +-----------------+--------------+------+-----+---------+-------+4 rows in set (0.01 sec)

SHOW INDEX FROM 데이터 테이블:
PRIMARY KEY(기본 키)를 포함하여 데이터 테이블의 자세한 인덱스 정보를 표시합니다.

mysql> SHOW INDEX FROM runoob_tbl;
+------------+------------+----------+--------------+-------------
+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part
 | Packed | Null | Index_type | Comment | Index_comment 
 |+------------+------------+----------+--------------+-------------+-----------+--
 -----------+----------+--------+------+------------+---------+---------------+
 | runoob_tbl |          0 | PRIMARY  |            1 
 | runoob_id   | A         |           2 |     NULL | NULL   |      
 | BTREE      |         |               |+------------+------------+----------+--------------+-
 ------------+-----------+-------------+----------+--------+----
 -+------------+---------+---------------+1 row in set (0.00 sec)

SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] G:
이 명령은 Mysql 데이터베이스 관리 시스템의 성능 및 통계 정보를 출력합니다.

mysql> SHOW TABLE STATUS  FROM RUNOOB;   
# 显示数据库 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';     
# 表名以runoob开头的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; 
  # 加上 \G,查询结果按列打印

1548663841938750.jpg

추천 관련 비디오 튜토리얼: MySQL 사용

PHP 중국어 웹사이트