MYSQL/MariaDB Yönetimi için 20 mysqladmin Komutu


mysqladmin, MySQL/MariaDB sunucusuyla birlikte gelen ve Veritabanı Yöneticileri tarafından bazı temel işlemleri gerçekleştirmek için kullanılan bir komut satırı veritabanı yönetim yardımcı programıdır. >Root şifresini ayarlama, root şifresini değiştirme, mysql işlemlerini izleme, ayrıcalıkları yeniden yükleme, veritabanları oluşturma/bırakma, sunucu durumunu kontrol etme, kullanım istatistiklerini gösterme, çalışan sorguları sonlandırma vb. gibi MySQL görevleri.

mysqladmin'i kullanma komutu ve genel sözdizimi şöyledir:

mysqladmin [options] command [command-arg] [command [command-arg]] ...

Eğer MySQL/MariaDB sunucunuz yüklü değilse veya MySQL sunucusunun daha eski bir sürümünü kullanıyorsanız, MySQL sürümünü şu adresten yüklemenizi veya güncellemenizi öneririz: aşağıdaki makaleler:

  • RHEL Tabanlı Dağıtımlara MySQL Nasıl Kurulur
  • RHEL ve Debian Sistemlerine MariaDB Nasıl Kurulur

Bu makalede, sistem/veritabanı yöneticilerinin günlük işlerinde kullandıkları çok faydalı bazı 'mysqladmin' komutlarını derledik. Bu görevleri gerçekleştirmek için sisteminizde MySQL/MariaDB sunucusunun kurulu olması gerekir.

1. MySQL Kök Şifresi Nasıl Ayarlanır

Yeni bir MySQL/MariaDB sunucusu yüklemeniz varsa, kök kullanıcı olarak bağlanmak için herhangi bir parola gerekmez. Kök kullanıcı için MySQL şifresini ayarlamak için aşağıdaki komutu kullanın.

mysqladmin -u root password YOURNEWPASSWORD

Uyarı: mysqladmin kullanarak yeni bir MYSQL şifresi ayarlamanın güvenlik açığı olarak değerlendirilmesi gerekir. Bazı sistemlerde şifreniz, sistemdeki aktif işlemlerin durumunu öğrenmek için diğer kullanıcılar tarafından çalıştırılabilen ps komutu gibi sistem durum programlarına görünür hale gelir.

2. MySQL Kök Şifresi Nasıl Değiştirilir

MySQL root şifresini değiştirmek veya güncellemek istiyorsanız aşağıdaki komutu yazmanız gerekir. Örneğin, eski şifrenizin 123456 olduğunu ve bunu xyz123 gibi yeni bir şifreyle değiştirmek istediğinizi varsayalım.

mysqladmin -u root -p123456 password 'xyz123'

3. MySQL Sunucusunun Durumu Nasıl Kontrol Edilir

MySQL sunucusunun çalışır durumda olup olmadığını öğrenmek için aşağıdaki komutu kullanın.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Hangi MySQL Sürümünü Çalıştırdığımı Nasıl Kontrol Edebilirim?

Aşağıdaki komut, geçerli çalışma durumuyla birlikte MySQL sürümünü gösterir.

mysqladmin -u root -p version

Enter password: 
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			18 min 6 sec

Threads: 6  Questions: 20  Slow queries: 0  Opens: 18  Flush tables: 1  
Open tables: 11  Queries per second avg: 0.018

5. MySQL Sunucusunun Mevcut Durumu Nasıl Bulunur?

MySQL sunucusunun mevcut durumunu öğrenmek için aşağıdaki komutu kullanın. mysqladmin komutu, çalışan iş parçacıkları ve sorgular ile çalışma süresi durumunu gösterir.

mysqladmin -u root -p status

Enter password: 
Uptime: 1185  Threads: 6  Questions: 21  Slow queries: 0  Opens: 18  Flush tables: 1
Open tables: 11  Queries per second avg: 0.017

6. MySQL Durum Değişkenleri ve Değerleri Nasıl Kontrol Edilir

MySQL sunucu değişkenlerinin ve değerlerinin tüm çalışma durumunu kontrol etmek için aşağıdaki komutu yazın. Çıktı aşağıdakine benzer olacaktır.

mysqladmin -u root -p extended-status

Enter password: 
+--------------------------------------------------------------+
| Variable_name                          | Value               |
+--------------------------------------------------------------+
| Aborted_clients                        | 0                   |
| Aborted_connects                       | 2                   |
| Access_denied_errors                   | 2                   |
| Acl_column_grants                      | 0                   |
| Acl_database_grants                    | 0                   |
| Acl_function_grants                    | 0                   |
| Acl_procedure_grants                   | 0                   |
| Acl_package_spec_grants                | 0                   |
| Acl_package_body_grants                | 0                   |
| Acl_proxy_users                        | 2                   |
| Acl_role_grants                        | 0                   |
| Acl_roles                              | 0                   |
| Acl_table_grants                       | 0                   |
| Acl_users                              | 4                   |
| Aria_pagecache_blocks_not_flushed      | 0                   |
| Aria_pagecache_blocks_unused           | 15706               |
| Aria_pagecache_blocks_used             | 0                   |
| Aria_pagecache_read_requests           | 0                   |
| Aria_pagecache_reads                   | 0                   |
| Aria_pagecache_write_requests          | 0                   |

...

7. Tüm MySQL sunucusu Değişkenlerini ve Değerlerini nasıl görebilirim?

MySQL sunucusunun çalışan tüm değişkenlerini ve değerlerini görmek için aşağıdaki komutu kullanın.

mysqladmin  -u root -p variables

Enter password:
+--------------------------------------------+-----------------------------+
| Variable_name                              | Value                       |
+--------------------------------------------+-----------------------------+
| auto_increment_increment                   | 1                           |
| auto_increment_offset                      | 1                           |
| autocommit                                 | ON                          |
| automatic_sp_privileges                    | ON                          |
| back_log                                   | 50                          |
| basedir                                    | /usr                        |
| big_tables                                 | OFF                         |
| binlog_cache_size                          | 32768                       |
| binlog_direct_non_transactional_updates    | OFF                         |
| binlog_format                              | STATEMENT                   |
| binlog_stmt_cache_size                     | 32768                       |
| bulk_insert_buffer_size                    | 8388608                     |
| character_set_client                       | latin1                      |
| character_set_connection                   | latin1                      |
| character_set_database                     | latin1                      |
| character_set_filesystem                   | binary                      |
| character_set_results                      | latin1                      |
| character_set_server                       | latin1                      |
| character_set_system                       | utf8                        |
| character_sets_dir                         | /usr/share/mysql/charsets/  |
| collation_connection                       | latin1_swedish_ci           |
+---------------------------------------------------+----------------------+
...

8. MySQL Sunucusunun Aktif Konuları Nasıl Kontrol Edilir

Aşağıdaki komut, MySQL veritabanı sorgularının çalışan tüm işlemlerini görüntüleyecektir.

mysqladmin -u root -p processlist

Enter password: 
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User        | Host      | db | Command | Time | State                    | Info             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 20 | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+

9. MySQL Sunucusunda Veritabanı Nasıl Oluşturulur

MySQL sunucusunda yeni bir veritabanı oluşturmak için aşağıda gösterilen komutu kullanın.

mysqladmin -u root -p create tecmint
Enter password: 

mysql -u root -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)

10. MySQL Sunucusuna Veritabanı Nasıl Bırakılır

Bir Veritabanını MySQL sunucusuna bırakmak için aşağıdaki komutu kullanın. 'y' tuşuna basmayı onaylamanız istenecektir.

mysqladmin -u root -p drop tecmint

Enter password: 
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'tecmint' database [y/N] y
Database "tecmint" dropped

11. MySQL Ayrıcalıkları Nasıl Yeniden Yüklenir/Yenilenir?

reload komutu, sunucuya izin tablolarını yeniden yüklemesini söyler ve refresh komutu tüm tabloları temizler ve günlük dosyalarını yeniden açar.

mysqladmin -u root -p reload
mysqladmin -u root -p refresh

12. MySQL Sunucusunu Güvenli Bir Şekilde Kapatma

MySQL sunucusunu güvenli bir şekilde kapatmak için aşağıdaki komutu yazın.

mysqladmin -u root -p shutdown

Enter password:

MySQL sunucusunu başlatmak/durdurmak için aşağıdaki komutları da kullanabilirsiniz.

systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb

13. Bazı yararlı MySQL Temizleme Komutları

Aşağıda açıklamalarıyla birlikte bazı yararlı yıkama komutları verilmiştir.

  • flush-hosts: Ana makine önbelleğindeki tüm ana bilgisayar bilgilerini temizler.
  • flush-tables: Tüm masaları yıkayın.
  • flush-threads: Tüm iş parçacıkları önbelleğini temizler.
  • flush-logs: Tüm bilgi günlüklerini temizler.
  • flush-ayrıcalıkları: Hibe tablolarını yeniden yükleyin (yeniden yüklemeyle aynı).
  • flush-status: Durum değişkenlerini temizleyin.

Bu komutlara göz atalım.

mysqladmin -u root -p flush-hosts
mysqladmin -u root -p flush-tables
mysqladmin -u root -p flush-threads
mysqladmin -u root -p flush-logs
mysqladmin -u root -p flush-privileges
mysqladmin -u root -p flush-status

14. Uyuyan MySQL İstemci Süreci nasıl sonlandırılır?

Uyuyan MySQL istemci işlemini tanımlamak için aşağıdaki komutu kullanın.

mysqladmin -u root -p processlist

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 5  | root | localhost |    | Sleep   | 14   |       |			 |
| 8  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Şimdi aşağıdaki komutu aşağıda gösterildiği gibi kill ve process ID ile çalıştırın.

mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Birden fazla işlemi sonlandırmak istiyorsanız, işlem kimliklerini aşağıda gösterildiği gibi virgülle ayırarak iletin.

mysqladmin -u root -p kill 5,10

15. Birden Fazla mysqladmin Komutunu Birlikte Çalıştırma

Birden fazla 'mysqladmin' komutunu birlikte yürütmek isterseniz komut şu şekilde olacaktır.

mysqladmin  -u root -p processlist status version

Enter password: 
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User        | Host      | db | Command | Time | State                    | Info             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 9  | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173  Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			2 min 53 sec

Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023

16. Uzak MySQL Sunucusuna Nasıl Bağlanılır

Uzak MySQL sunucusuna bağlanmak için, uzaktan kumandanın IP Adresi ile birlikte -h (ana bilgisayar)'ı kullanın. makine.

mysqladmin -h 172.16.25.126 -u root -p

17. Uzak MySQL Sunucusunda Komut Nasıl Çalıştırılır

Diyelim ki uzak MySQL sunucusunun durumunu görmek istiyorsunuz, o zaman komut şöyle olacaktır.

mysqladmin -h 172.16.25.126 -u root -p status

18. Slave Sunucuda MySQL Çoğaltma Nasıl Başlatılır/Durdurulur

İkincil sunucuda MySQL çoğaltmasını başlatmak/durdurmak için aşağıdaki komutları kullanın.

mysqladmin  -u root -p start-slave
mysqladmin  -u root -p stop-slave

19. MySQL Sunucusu Hata Ayıklama Bilgilerini Günlüklere Kaydetme

Sunucuya, kullanımdaki kilitler, kullanılan bellek ve sorgu kullanımı hakkındaki hata ayıklama bilgilerini, olay zamanlayıcı hakkındaki bilgiler de dahil olmak üzere MySQL günlük dosyasına yazmasını söyler.

mysqladmin  -u root -p debug

Enter password:

20. mysqladmin Seçenekleri ve Kullanımı Nasıl Görüntülenir?

myslqadmin komutunun daha fazla seçeneğini ve kullanımını öğrenmek için aşağıda gösterildiği gibi yardım komutunu kullanın. Mevcut seçeneklerin bir listesini gösterecektir.

mysqladmin --help

Bu makalede neredeyse tüm 'mysqladmin' komutlarını örnekleriyle birlikte sunmaya çalıştık. Hala gözden kaçırdığımız bir şey varsa, lütfen yorum yoluyla bize bildirin ve yazmayın. arkadaşlarınızla paylaşmayı unutmayın.