Latest web development tutorials

MySQL의 관리

스타트 업 및 MySQL 서버를 종료

첫째, 우리는 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 shutdown
Enter password: ******

MySQL의 사용자 설정

당신이 MySQL 사용자를 추가해야하는 경우에만 사용자 테이블에 새로운 사용자를 추가하는 MySQL의 데이터베이스가 필요합니다.

추가 사용자, 사용자 이름 게스트, 암호 guest123하고, 인증 된 사용자의 다음 예는 INSERT 및 UPDATE 운영 권한을 선택할 수 있습니다 :

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

mysql> 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의에게 암호를 암호화 제공 () 함수를주의하시기 바랍니다. 당신은 위의 예에서 사용자 암호 암호화를 볼 수 있습니다 6f8c114b58f2ce9e을.

참고 : 사용자 테이블 MySQL5.7에서 암호 authentication_string를 대체하고있다.

참고 : FLUSH PRIVILEGES 문을 수행해야합니다. 이 명령은 실행 후 그랜트 테이블을 다시로드합니다.

이 명령을 사용하지 않는 경우, 당신은 당신이 MySQL 서버를 다시 시작하지 않는 한 MySQL 서버에 연결하기 위해 새로 만든 사용자를 사용할 수 없습니다.

사용자를 생성 할 때, 될 수있는 삽입 문 'Y'로 설정 해당 열 권한에서 사용자 권한이 아래에 나열되어, 사용자에게 권한을 할당 :

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

는 SQL GRANT 명령을 통해 사용자를 추가하는 또 다른 방법은, 당신의 명령은 데이터베이스 자습서 자라, 암호 zara123를 지정하려면 사용자를 추가합니다.

root@host# mysql -u root -p password;
Enter 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 데이터베이스 절차 :

  • USE 데이터베이스 이름 :
    운영에만 해당 데이터베이스에 대한 모든 MySQL의 명령 후이 명령을 사용하여 MySQL 데이터베이스를 선택합니다.

    mysql> use w3big;
    Database changed
    
  • SHOW의 데이터베이스 :
    MySQL의 데이터베이스 목록 데이터베이스 관리 시스템을 나열합니다.

    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | w3big             |
    | cdcol              |
    | mysql              |
    | onethink           |
    | performance_schema |
    | phpmyadmin         |
    | test               |
    | wecenter           |
    | wordpress          |
    +--------------------+
    10 rows in set (0.02 sec)
    
  • 쇼 테이블 :
    이 명령을 사용하기 전에, 당신이 작업을 사용하고자하는 데이터베이스를 선택하는 명령을 사용하여 모든 테이블의 지정된 데이터베이스를 표시합니다.

    mysql> use w3big;
    Database changed
    mysql> SHOW TABLES;
    +------------------+
    | Tables_in_w3big |
    +------------------+
    | employee_tbl     |
    | w3big_tbl       |
    | tcount_tbl       |
    +------------------+
    3 rows in set (0.00 sec)
    
  • 데이터 시트에서 SHOW의 COLUMNS :
    속성 표시 데이터 테이블, 속성 유형, 기본 키 정보가 NULL인지 여부, 기본값 등에 대한 자세한 내용은

    mysql> SHOW COLUMNS FROM w3big_tbl;
    +-----------------+--------------+------+-----+---------+-------+
    | Field           | Type         | Null | Key | Default | Extra |
    +-----------------+--------------+------+-----+---------+-------+
    | w3big_id       | int(11)      | NO   | PRI | NULL    |       |
    | w3big_title    | varchar(255) | YES  |     | NULL    |       |
    | w3big_author   | varchar(255) | YES  |     | NULL    |       |
    | submission_date | date         | YES  |     | NULL    |       |
    +-----------------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
    
  • 데이터 시트에서 SHOW의 INDEX :
    기본 키 (기본 키)를 포함한 인덱스 데이터 테이블에 대한 자세한 정보를 표시합니다.

    mysql> SHOW INDEX FROM w3big_tbl;
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | w3big_tbl |          0 | PRIMARY  |            1 | w3big_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
    
  • SHOW 표 STATUS LIKE [DB_NAME FROM] [LIKE '패턴'] \ G :
    명령 출력 성능 및 통계 정보 MySQL 데이터베이스 관리 시스템입니다.

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

지프 발표 :