Як керувати базою даних MySQL? Команди SSH для керування серверами MySQL

як керуватиБаза даних MySQL? Управління командами SSHMySQL服务器

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)

Під час додавання користувачів пам’ятайте, що пароль шифрується за допомогою функції PASSWORD(), наданої MySQL.У наведеному вище прикладі можна побачити, що зашифрований пароль користувача: 6f8c114b58f2ce9e.

Примітка:У MySQL 5.7 пароль таблиці користувача було замінено нарядок автентифікації.

Примітка:Усвідомлювати необхідність реалізації ПРИВІЛЕЇ ПРОМИВАННЯ заява.Після виконання цієї команди таблиця грантів буде перезавантажена.

Якщо ви не використовуєте цю команду, ви не зможете використовувати новоствореного користувача для підключення до сервера 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

Ще один спосіб додати користувачів — за допомогою команди GRANT SQL. Наступна команда додасть користувача 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)
  • ПОКАЗАТИ СТАТУС ТАБЛИЦІ ЯК [FROM db_name] [LIKE 'pattern'] \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,查询结果按列打印

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) поділився «Як керувати базою даних MySQL? SSH Commands to Manage MySQL Servers», допоможе вам.

Ласкаво просимо поділитися посиланням на цю статтю:https://www.chenweiliang.com/cwl-453.html

Ласкаво просимо до каналу Telegram у блозі Чень Вейляна, щоб отримувати останні оновлення!

🔔 Станьте першим, хто отримає цінний «Посібник із використання інструменту штучного інтелекту маркетингу контенту ChatGPT» у верхньому каталозі каналу! 🌟
📚 Цей посібник має величезну цінність. 🌟Це рідкісна можливість, не пропустіть її! ⏰⌛💨
Поділіться та вподобайте, якщо вам подобається!
Ваші публікації та лайки є нашою постійною мотивацією!

 

发表 评论

Ваша електронна адреса не буде опублікована. 必填 项 已 用 * Етикетка

прокрутіть наверх