Important MySQL Practical Commands
Queries से आगे
SELECT और साथियों के अलावा, असली database चलाने को आपको practical commands चाहिए: tables inspect करना, backups लेना, data import और export करना, और users manage करना। ये रोज़ के admin tasks हैं जो हर developer से मिलते हैं।
Database inspect करना
SHOW DATABASES; SHOW TABLES; DESCRIBE students; -- columns और types SHOW CREATE TABLE students; -- पूरी definition SHOW INDEX FROM students; -- indexes SELECT COUNT(*) FROM students; -- कितनी rows
ये आपको कोई भी database समझने देते हैं जो आपको मिले — इसकी tables, उनकी संरचना, और उनका आकार।
Backup और restore
# backup (terminal से, mysql prompt से नहीं) mysqldump -u root -p school > backup.sql # database में restore mysql -u root -p school < backup.sql
mysqldump पूरा database एक SQL file में लिखता है। Restore को, database बनाकर file वापस feed कीजिए। जोखिम भरे बदलावों से पहले हमेशा backup कीजिए।
Import और export
-- CSV को table में import LOAD DATA INFILE 'students.csv' INTO TABLE students FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- query को CSV export SELECT * FROM students INTO OUTFILE 'out.csv' FIELDS TERMINATED BY ',';
ये MySQL और CSV files के बीच data ले जाते हैं, spreadsheets और bulk loads को सुविधाजनक।
Users और privileges
CREATE USER 'app'@'localhost' IDENTIFIED BY 'secret'; GRANT SELECT, INSERT, UPDATE ON school.* TO 'app'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'app'@'localhost'; REVOKE INSERT ON school.* FROM 'app'@'localhost';
सिर्फ़ ज़रूरी privileges वाला समर्पित user बनाइए — apps को कभी root इस्तेमाल न करने दीजिए। SHOW GRANTS जाँचता है user क्या कर सकता है।
Maintenance commands
SELECT VERSION(); -- MySQL version SHOW PROCESSLIST; -- मौजूदा connections/queries SHOW STATUS; -- server status variables ANALYZE TABLE students; -- table statistics update OPTIMIZE TABLE students; -- जगह वापस, defragment
ये आपको server monitor और tune करने में मदद करते हैं, ख़ासकर data बढ़ने पर।
आम गलतियाँ
- mysqldump को mysql> prompt पर चलाना। यह terminal command है, SQL नहीं।
- Apps को root access देना। GRANT से सीमित user बनाइए।
- बड़े बदलावों से पहले backup भूलना। हमेशा पहले dump कीजिए।
- CSV import पर IGNORE 1 ROWS अनदेखा करना। वरना header data row बन जाता है।
सारांश
- SHOW, DESCRIBE और SHOW CREATE TABLE से inspect कीजिए।
- mysqldump से backup; SQL file वापस feed करके restore।
- LOAD DATA INFILE और INTO OUTFILE से import/export।
- CREATE USER, GRANT और REVOKE से users manage कीजिए।
- VERSION, PROCESSLIST और OPTIMIZE से monitor और tune कीजिए।
आगे, core पास रखिए MySQL cheat sheet से, या access manage कीजिए DDL, DML और DQL में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
MySQL database backup कैसे करूँ?
mysqldump -u root -p dbname > backup.sql। यह पूरा database (संरचना और data) एक SQL file में लिखता है जिसे आप बाद में restore कर सकते हैं।Backup से MySQL database कैसे restore करूँ?
mysql -u root -p dbname < backup.sql। यह file के सारे statements चलाकर tables और data फिर बनाता है।MySQL में user बनाकर privileges कैसे grant करूँ?
CREATE USER 'app'@'localhost' IDENTIFIED BY 'pass'; फिर GRANT SELECT, INSERT ON db.* TO 'app'@'localhost';। यह सिर्फ़ ज़रूरी permissions वाला user बनाता है।MySQL में table की जानकारी कैसे देखूँ?
DESCRIBE tablename;, पूरी definition को SHOW CREATE TABLE tablename;, और indexes को SHOW INDEX FROM tablename; इस्तेमाल कीजिए। ये मौजूदा table समझने में मदद करते हैं।MySQL में CSV file कैसे import करूँ?
LOAD DATA INFILE 'file.csv' INTO TABLE t FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS;। यह CSV rows को table में पढ़ता है, header row छोड़कर।