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.