MySQL 데이터베이스를 관리하는 방법? MySQL 서버를 관리하기 위한 SSH 명령

관리 방법MySQL 데이터베이스? SSH 명령 관리MySQL의服务器

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 데이터베이스의 사용자 테이블에 새 사용자를 추가하기만 하면 됩니다.

다음은 사용자를 추가하는 예입니다. 사용자 이름은 guest, 암호는 guest123이고 사용자는 SELECT, 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에서 제공하는 PASSWORD() 함수를 사용하여 암호화된다는 점에 유의하십시오.위의 예에서 암호화된 사용자 비밀번호가 6f8c114b58f2ce9e임을 알 수 있습니다.

注意 :MySQL 5.7에서 사용자 테이블의 비밀번호는 다음으로 대체되었습니다.인증_문자열.

注意 :시행할 필요가 있음을 인지 플러시 특권 성명.이 명령이 실행된 후 부여 테이블이 다시 로드됩니다.

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

사용자 생성 시 해당 사용자에 대한 권한을 지정할 수 있으며, 해당 권한 열에서 insert 문에 'Y'로 설정합니다.사용자 권한 목록은 다음과 같습니다.

  • 선택_개인
  • 삽입_개인
  • 업데이트_개인
  • 삭제_개인
  • Create_priv
  • drop_priv
  • reload_priv
  • 종료_priv
  • 프로세스_priv
  • 파일_개인
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

사용자를 추가하는 또 다른 방법은 SQL의 GRANT 명령을 사용하는 것입니다.다음 명령은 사용자 zara를 지정된 데이터베이스 TUTORIALS에 추가하고 암호는 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 데이터베이스를 사용하는 과정에서 일반적으로 사용되는 명령을 나열합니다.

  • 사용 데이터 저장소 이름 :
    운영할 MySQL 데이터베이스를 선택합니다.이 명령을 사용한 후 모든 Mysql 명령은 이 데이터베이스에만 적용됩니다.
    mysql> use chenweiliang;
    Database changed
  • 데이터베이스 표시: 
    MySQL 데이터베이스 관리 시스템의 데이터베이스 목록을 나열합니다.
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | chenweiliang             |
    | cdcol              |
    | mysql              |
    | onethink           |
    | performance_schema |
    | phpmyadmin         |
    | test               |
    | wecenter           |
    | wordpress          |
    +--------------------+
    10 rows in set (0.02 sec)
  • 쇼 테이블:
    지정된 데이터베이스의 모든 테이블을 표시합니다.이 명령을 사용하기 전에 use 명령을 사용하여 운영할 데이터베이스를 선택해야 합니다.
    mysql> use chenweiliang;
    Database changed
    mysql> SHOW TABLES;
    +------------------+
    | Tables_in_chenweiliang |
    +------------------+
    | employee_tbl     |
    | chenweiliang_tbl       |
    | tcount_tbl       |
    +------------------+
    3 rows in set (0.00 sec)
  • 열 보기 数据 表:
    데이터 테이블 속성, 속성 유형, 기본 키 정보, NULL인지 여부, 기본값 및 기타 정보를 표시합니다.
    mysql> SHOW COLUMNS FROM chenweiliang_tbl;
    +-----------------+--------------+------+-----+---------+-------+
    | Field           | Type         | Null | Key | Default | Extra |
    +-----------------+--------------+------+-----+---------+-------+
    | chenweiliang_id       | int(11)      | NO   | PRI | NULL    |       |
    | chenweiliang_title    | varchar(255) | YES  |     | NULL    |       |
    | chenweiliang_author   | varchar(255) | YES  |     | NULL    |       |
    | submission_date | date         | YES  |     | NULL    |       |
    +-----------------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
  • 색인 표시 数据 表:
    PRIMARY KEY(기본 키)를 포함한 데이터 테이블의 자세한 인덱스 정보를 표시합니다.
    mysql> SHOW INDEX FROM chenweiliang_tbl;
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | chenweiliang_tbl |          0 | PRIMARY  |            1 | chenweiliang_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
  • SHOW TABLE STATUS LIKE [FROM db_name] [LIKE '패턴'] \G:
    이 명령은 MySQL 데이터베이스 관리 시스템의 성능 및 통계를 출력합니다.
    mysql> SHOW TABLE STATUS  FROM chenweiliang;   # 显示数据库 chenweiliang 中所有表的信息
    
    mysql> SHOW TABLE STATUS from chenweiliang LIKE 'chenweiliang%';     # 表名以chenweiliang开头的表的信息
    mysql> SHOW TABLE STATUS from chenweiliang LIKE 'chenweiliang%'\G;   # 加上 \G,查询结果按列打印

희망 첸 웨이량 블로그( https://www.chenweiliang.com/ ) 공유 "MySQL 데이터베이스를 관리하는 방법? MySQL 서버 관리를 위한 SSH 명령"이 도움이 될 것입니다.

이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-453.html

최신 업데이트를 받으려면 Chen Weiliang 블로그의 Telegram 채널에 오신 것을 환영합니다!

🔔 채널 상위 디렉토리에서 귀중한 "ChatGPT 콘텐츠 마케팅 AI 도구 사용 가이드"를 가장 먼저 받아보세요! 🌟
📚 이 가이드에는 엄청난 가치가 담겨 있습니다. 🌟이것은 흔치 않은 기회입니다. 놓치지 마세요! ⏰⌛💨
당신이 원한다면 공유하고 좋아하십시오!
당신의 공유와 좋아요는 우리의 지속적인 동기 부여입니다!

 

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

맨위로 스크롤