چگونه پایگاه داده MySQL را مدیریت کنیم؟ دستورات SSH برای مدیریت سرورهای MySQL

چگونه یک پایگاه داده MySQL را مدیریت کنیم ؟ مدیریت سرور MySQL با استفاده از دستورات SSH.

خروجی مدیریت


سرور 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 و کاربر مجاز به انجام عملیات 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، فیلد رمز عبور در جدول کاربر با authentication_string جایگزین شده است.

نکته: شما باید دستور FLUSH PRIVILEGES را اجرا کنید . این دستور جداول اعطای دسترسی را مجدداً بارگذاری می‌کند.

اگر از این دستور استفاده نکنید، نمی توانید از کاربر تازه ایجاد شده برای اتصال به سرور mysql استفاده کنید مگر اینکه سرور mysql را مجددا راه اندازی کنید.

هنگام ایجاد یک کاربر، می توانید مجوزهایی را برای کاربر مشخص کنید. در ستون مجوز مربوطه، آن را در عبارت insert روی '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 ایجاد می کند.

نکته: دستورات SQL در MySQL با علامت سمیکالن (;) خاتمه می‌یابند.


پیکربندی فایل /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)
  • نمایش فهرست از برگه داده:
    نمایش اطلاعات فهرست دقیق جدول داده ها، از جمله کلید اصلی (کلید اصلی).
    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] [مثل 'الگو'] \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,查询结果按列打印

امیدوارم مقاله "چگونه یک پایگاه داده MySQL را مدیریت کنیم؟ مدیریت سرور MySQL با دستورات SSH" که در وبلاگ چن ویلیانگ ( https://www.chenweiliang.com/ ) به اشتراک گذاشته شده است، برای شما مفید باشد.

لینک این مقاله را به اشتراک بگذارید: https://www.chenweiliang.com/cwl-453.html

برای کشف ترفندهای مخفی بیشتر🔑، به کانال تلگرام ما بپیوندید!

اگر دوست داشتید به اشتراک بگذارید و لایک کنید! اشتراک گذاری ها و لایک های شما انگیزه ادامه دار ماست!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

رفته به بالا