20 MySQL (Mysqladmin) kommandoer for databaseadministrasjon i Linux
mysqladmin er et kommandolinjeverktøy som følger med MySQL-serveren, og det brukes av databaseadministratorer for å enkelt utføre noen grunnleggende MySQL-oppgaver som å angi root-passord, endre root-passord, overvåke mysql-prosesser, laste inn privilegier, sjekke serverstatus etc.
I denne artikkelen har vi samlet noen veldig nyttige 'mysqladmin'-kommandoer som brukes av system-/databaseadministratorer i deres daglige arbeid. Du må ha MySQL-server installert på systemet ditt for å utføre disse oppgavene.
Hvis du ikke har MySQL-serveren installert eller du bruker en eldre versjon av MySQL-serveren, anbefaler vi alle å installere eller oppdatere versjonen din ved å følge artikkelen nedenfor.
- Installasjon av MySQL 5.5.28 Server på RHEL/CentOS/Fedora
1. Hvordan sette MySQL Root-passord?
Hvis du har ny installasjon av MySQL-serveren, krever den ikke noe passord for å koble den til som root-bruker. For å angi MySQL-passord for root-bruker, bruk følgende kommando.
# mysqladmin -u root password YOURNEWPASSWORD
2. Hvordan endre MySQL Root-passord?
Hvis du vil endre eller oppdatere MySQL root-passord, må du skrive inn følgende kommando. Si for eksempel at det gamle passordet ditt er 123456 og at du vil endre det med nytt passord, si xyz123.
mysqladmin -u root -p123456 password 'xyz123'
3. Hvordan sjekke at MySQL Server kjører?
For å finne ut om MySQL-serveren er oppe og kjører, bruk følgende kommando.
# mysqladmin -u root -p ping Enter password: mysqld is alive
4. Hvordan sjekke hvilken MySQL-versjon jeg kjører?
Følgende kommando viser MySQL-versjonen sammen med gjeldende kjørestatus.
# mysqladmin -u root -p version Enter password: mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 7 days 14 min 45 sec Threads: 2 Questions: 36002 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
5. Hvordan finne ut gjeldende status for MySQL-serveren?
For å finne ut gjeldende status til MySQL-serveren, bruk følgende kommando. Mysqladmin-kommandoen viser status for oppetid med løpende tråder og spørringer.
# mysqladmin -u root -ptmppassword status Enter password: Uptime: 606704 Threads: 2 Questions: 36003 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
6. Hvordan sjekke status for alle MySQL Server-variabler og verdier?
For å sjekke all kjørestatus for MySQL-servervariabler og -verdier, skriv inn følgende kommando. Utgangen vil være lik nedenfor.
# mysqladmin -u root -p extended-status Enter password: +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 3 | | Aborted_connects | 3 | | Binlog_cache_disk_use | 0 | | Binlog_cache_use | 0 | | Binlog_stmt_cache_disk_use | 0 | | Binlog_stmt_cache_use | 0 | | Bytes_received | 6400357 | | Bytes_sent | 2610105 | | Com_admin_commands | 3 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | +------------------------------------------+-------------+
7. Hvordan se alle MySQL-servervariabler og -verdier?
For å se alle kjørevariablene og verdiene til MySQL-serveren, bruk kommandoen som følger.
# 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. Hvordan sjekke all den kjørende prosessen til MySQL-serveren?
Følgende kommando vil vise hele prosessen med MySQL-databasespørringer.
# mysqladmin -u root -p processlist Enter password: +-------+---------+-----------------+---------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+---------+-----------------+---------+---------+------+-------+------------------+ | 18001 | rsyslog | localhost:38307 | rsyslog | Sleep | 5590 | | | | 18020 | root | localhost | | Query | 0 | | show processlist | +-------+---------+-----------------+---------+---------+------+-------+------------------+
9. Hvordan lage en database i MySQL server?
For å opprette en ny database i MySQL-serveren, bruk kommandoen som vist nedenfor.
# mysqladmin -u root -p create databasename Enter password:
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18027 Server version: 5.5.28 MySQL Community Server (GPL) by Remi Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | databasename | | mysql | | test | +--------------------+ 8 rows in set (0.01 sec) mysql>
10. Hvordan slippe en database i MySQL-serveren?
For å slippe en database i MySQL-server, bruk følgende kommando. Du vil bli bedt om å bekrefte trykk 'y'.
# mysqladmin -u root -p drop databasename 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 'databasename' database [y/N] y Database "databasename" dropped
11. Hvordan laste inn/oppdatere MySQL-privilegier?
Reload-kommandoen forteller serveren om å laste inn bevilgningstabellene på nytt. Refresh-kommandoen tømmer alle tabeller og åpner loggfilene på nytt.
# mysqladmin -u root -p reload; # mysqladmin -u root -p refresh
12. Hvordan slå av MySQL-serveren trygt?
For å slå av MySQL-serveren på en sikker måte, skriv inn følgende kommando.
mysqladmin -u root -p shutdown Enter password:
Du kan også bruke følgende kommandoer for å starte/stoppe MySQL-serveren.
# /etc/init.d/mysqld stop # /etc/init.d/mysqld start
13. Noen nyttige MySQL Flush-kommandoer
Følgende er noen nyttige flush-kommandoer med beskrivelsen deres.
- flush-hosts: Tøm all vertsinformasjon fra vertsbufferen.
- Skylletabeller: Tøm alle tabeller.
- flush-threads: Tøm bufferen for alle tråder.
- flush-logger: Tøm alle informasjonslogger.
- flush-privileger: Last inn bevilgningstabellene på nytt (samme som reload).
- flush-status: Slett statusvariabler.
# 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. Hvordan drepe Sleeping MySQL Client Process?
Bruk følgende kommando for å identifisere sovende MySQL-klientprosess.
# 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 | +----+------+-----------+----+---------+------+-------+------------------+
Kjør nå følgende kommando med kill and process ID som vist nedenfor.
# mysqladmin -u root -p kill 5 Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 12 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+
Hvis du liker å drepe flere prosesser, send deretter prosess-ID-ene med komma atskilt som vist nedenfor.
# mysqladmin -u root -p kill 5,10
15. Hvordan kjører jeg flere mysqladmin-kommandoer sammen?
Hvis du ønsker å utføre flere 'mysqladmin'-kommandoer sammen, vil kommandoen være slik.
# mysqladmin -u root -p processlist status version Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 8 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+ Uptime: 3801 Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003 mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 1 hour 3 min 21 sec Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003
16. Hvordan koble til ekstern mysql-server
For å koble til ekstern MySQL-server, bruk -h (vert) med IP-adressen til den eksterne maskinen.
# mysqladmin -h 172.16.25.126 -u root -p
17. Hvordan utføre kommando på ekstern MySQL-server
La oss si at du ønsker å se statusen til ekstern MySQL-server, så vil kommandoen være.
# mysqladmin -h 172.16.25.126 -u root -p status
18. Hvordan starte/stoppe MySQL-replikering på en slaveserver?
For å starte/stoppe MySQL-replikering på salveserver, bruk følgende kommandoer.
# mysqladmin -u root -p start-slave
# mysqladmin -u root -p stop-slave
19. Hvordan lagre MySQL server feilsøkingsinformasjon i logger?
Den ber serveren skrive feilsøkingsinformasjon om låser i bruk, brukt minne og spørringsbruk til MySQL-loggfilen, inkludert informasjon om hendelsesplanlegger.
# mysqladmin -u root -p debug Enter password:
20. Hvordan se mysqladmin-alternativer og bruk
For å finne ut flere alternativer og bruk av myslqadmin-kommandoen, bruk hjelpekommandoen som vist nedenfor. Det vil vise en liste over tilgjengelige alternativer.
# mysqladmin --help
Vi har prøvd vårt beste for å inkludere nesten alle 'mysqladmin'-kommandoer med eksemplene deres i denne artikkelen. Hvis vi fortsatt har gått glipp av noe, vennligst gi oss beskjed via kommentarer og ikke glem å dele med vennene dine.