Avant cet article, trois articles ont déjà été publiés dans la section «Linux Interview» et tous ont été très appréciés par nos lecteurs notables, mais nous recevions des commentaires pour rendre ce processus d'apprentissage interactif, par section. De l'idée à l'action, nous vous proposons 15 questions d'entretien MySQL .
1. Comment vérifieriez-vous si le service MySql est en cours d'exécution ou non ?
Réponse : Lancez la commande "service mysql status » dans « Debian » et « service mysqld status ” dans RedHat. Vérifiez la sortie, et tout est fait.[email protected]:/home/avi# service mysql status /usr/bin/mysqladmin Ver 8.42 Distrib 5.1.72, for debian-linux-gnu on i486 Copyright (c) 2000, 2013, 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.1.72-2 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 1 hour 22 min 49 sec Threads: 1 Questions: 112138 Slow queries: 1 Opens: 1485 Flush tables: 1 Open tables: 64 Queries per second avg: 22.567.
2. Si le service est en cours d'exécution/s'arrête, comment arrêteriez-vous/démarreriez-vous le service ?
Réponse : Pour démarrer le service MySql, utilisez la commande en tant que service mysqld start et pour arrêter utilisez service mysqld stop .[email protected]:/home/avi# service mysql stop Stopping MySQL database server: mysqld. [email protected]:/home/avi# service mysql start Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables..
3. Comment allez-vous vous connecter à MySQL à partir de Linux Shell ?
Réponse : Pour vous connecter ou vous connecter au service MySQL, utilisez la commande :mysql -u root -p .[email protected]:/home/avi# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 207 Server version: 5.1.72-2 (Debian) Copyright (c) 2000, 2013, 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>
4. Comment obtiendrez-vous la liste de toutes les bases de données ?
Réponse : Pour répertorier toutes les bases de données en cours d'exécution, exécutez la commande sur le shell mysql en tant que :show databases ;mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a1 | | cloud | | mysql | | phpmyadmin | | playsms | | sisso | | test | | ukolovnik | | wordpress | +--------------------+ 10 rows in set (0.14 sec)
5. Comment allez-vous passer à une base de données et commencer à travailler dessus ?
Réponse : Pour utiliser ou basculer vers une base de données spécifique, exécutez la commande sur le shell mysql en tant que :use database_name ;mysql> use cloud; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql>
6. Comment obtiendrez-vous la liste de toutes les tables, dans une base de données ?
Réponse : Pour lister toutes les tables d'une base de données, utilisez la commande sur le shell mysql comme :show tables;mysql> show tables; +----------------------------+ | Tables_in_cloud | +----------------------------+ | oc_appconfig | | oc_calendar_calendars | | oc_calendar_objects | | oc_calendar_repeat | | oc_calendar_share_calendar | | oc_calendar_share_event | | oc_contacts_addressbooks | | oc_contacts_cards | | oc_fscache | | oc_gallery_sharing | +----------------------------+ 10 rows in set (0.00 sec)
7. Comment obtiendrez-vous le nom du champ et le type d'une table MySql ?
Réponse : Pour obtenir le nom de champ et le type d'une table, utilisez la commande sur le shell mysql comme :describe table_name ;mysql> describe oc_users; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | uid | varchar(64) | NO | PRI | | | | password | varchar(255) | NO | | | | +----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
8. Comment allez-vous supprimer un tableau ?
Réponse : Pour supprimer une table spécifique, utilisez la commande sur le shell mysql comme :drop table table_name ;mysql> drop table lookup; Query OK, 0 rows affected (0.00 sec)
9. Qu'en est-il de la base de données ? Comment allez-vous supprimer une base de données ?
Réponse : Pour supprimer une base de données spécifique, utilisez la commande sur le shell mysql comme :drop database nom-base de données ;mysql> drop database a1; Query OK, 11 rows affected (0.07 sec)
10. Comment allez-vous voir tout le contenu d'un tableau ?
Réponse : Pour afficher tout le contenu d'une table particulière, utilisez la commande sur le shell mysql comme :select * from table_name ;mysql> select * from engines; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | ENGINE | SUPPORT | COMMENT | TRANSACTIONS | XA | SAVEPOINTS | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 8 rows in set (0.00 sec)
11. Comment allez-vous voir toutes les données d'un champ (par exemple, uid), d'une table (par exemple, oc_users) ?
Réponse : Pour afficher toutes les données d'un champ, utilisez la commande sur le shell mysql comme :select uid from oc_users ;mysql> select uid from oc_users; +-----+ | uid | +-----+ | avi | +-----+ 1 row in set (0.03 sec)
12. Supposons que vous ayez une table 'xyz', qui contient plusieurs champs dont 'create_time' et 'engine'. Le champ ‘engine’ est renseigné avec deux types de données ‘Memory’ et ‘MyIsam’. Comment obtiendrez-vous uniquement "create_time" et "engine" de la table où engine est "MyIsam" ?
Réponse : Utilisez la commande sur le shell mysql comme :select create_time, engine from xyz where engine=”MyIsam”;12. mysql> select create_time, engine from xyz where engine="MyIsam"; +---------------------+--------+ | create_time | engine | +---------------------+--------+ | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-12-15 13:43:27 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | | 2013-10-23 14:56:38 | MyISAM | +---------------------+--------+ 132 rows in set (0.29 sec)
13. Comment allez-vous afficher tous les enregistrements de la table "xrt" où le nom est "tecmint" et l'adresse Web est "tecmint.com" ?
Réponse : Utilisez la commande sur le shell mysql comme :select * from xrt where name ="tecmint" and web_address ="tecmint.com" ;mysql> select * from xrt where name = "tecmint" and web_address = “tecmint.com”; +---------------+---------------------+---------------+ | Id | name | web_address | +---------------+---------------------+----------------+ | 13 | tecmint | tecmint.com | +---------------+---------------------+----------------+ | 41 | tecmint | tecmint.com | +---------------+---------------------+----------------+
14. Comment allez-vous afficher tous les enregistrements de la table "xrt" où le nom n'est pas "tecmint" et l'adresse Web est "tecmint.com" ?
Réponse : Utilisez la commande sur le shell mysql comme :select * from xrt where name !="tecmint" and web_address ="tecmint.com" ;mysql> select * from xrt where name != ”tecmint” and web_address = ”tecmint.com”; +---------------+---------------------+---------------+ | Id | name | web_address | +---------------+---------------------+----------------+ | 1173 | tecmint | tecmint.com | +---------------+---------------------+----------------+
15. Vous devez connaître le nombre total d'entrées de ligne dans une table. Comment allez-vous y parvenir ?
Réponse : Utilisez la commande sur le shell mysql comme :select count(*) from table_name ;mysql> select count(*) from Tables; +----------+ | count(*) | +----------+ | 282 | +----------+ 1 row in set (0.01 sec)
C'est tout pour le moment. Que pensez-vous de cette "Question d'entretien Linux ? ' section. N'oubliez pas de nous faire part de vos précieux commentaires dans notre section de commentaires.