MySQL एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है जिसका उपयोग अनगिनत वेब और सर्वर अनुप्रयोगों के लिए बैकएंड के रूप में किया जाता है। मूल रूप से 1995 में जारी किया गया, यह एक डेटाबेस सर्वर के रूप में डेवलपर्स के लिए एक लोकप्रिय विकल्प बना हुआ है।
इस गाइड को शुरू करने से पहले, कृपया सुनिश्चित करें कि आपने हमारे कंप्यूट इंस्टेंस की स्थापना और सुरक्षा में उल्लिखित चरणों को पूरा कर लिया है। इसके अतिरिक्त, सुनिश्चित करें कि आप अपने सिस्टम में रूट उपयोगकर्ता के रूप में लॉग इन हैं।
MySQL स्थापित करना
यह सुनिश्चित करने के लिए निम्न आदेश जारी करें कि आपका पैकेज भंडार अद्यतित है:
emerge --sync
निम्न कमांड सिस्टम पर सभी संकुल और उनकी निर्भरता को अद्यतन करेगा। यदि आप इस कमांड को चलाने में सहज नहीं हैं, तो आप इसे छोड़ सकते हैं या emerge --update world
. का उपयोग कर सकते हैं :
emerge --update --deep world
MySQL स्थापित करने के लिए निम्न आदेश जारी करें:
emerge dev-db/mysql
एक बार यह प्रक्रिया पूरी हो जाने के बाद, आपको MySQL द्वारा उपयोग किए जाने वाले डेटाबेस को भी इंस्टॉल करना होगा। निम्न आदेश जारी करें:
mysql_install_db
अब आप पहली बार MySQL सर्वर शुरू करने के लिए तैयार हैं:
/etc/init.d/mysql start
आपको mysql_secure_installation
चलाना होगा रूट पासवर्ड सेट करने और अपने MySQL इंस्टेंस को सुरक्षित करने के लिए। निम्न आदेश जारी करें:
mysql_secure_installation
यदि आप चाहते हैं कि सिस्टम बूट होने पर MySQL चले, तो निम्न कमांड जारी करें:
rc-update add mysql default
MySQL को कॉन्फ़िगर करना
डिफ़ॉल्ट रूप से, MySQL लोकलहोस्ट से जुड़ता है। यदि आप चाहते हैं कि MySQL किसी सार्वजनिक IP पर सुने, तो आप bind-address
. को बदल सकते हैं /etc/mysql/my.cnf
में मान अपने लिनोड के आईपी पते को प्रतिबिंबित करने के लिए। सार्वजनिक आईपी पर MySQL तक अप्रतिबंधित पहुंच की अनुमति देने की सलाह नहीं दी जाती है, और आप केवल विशिष्ट आईपी पते से यातायात की अनुमति देने के लिए फ़ायरवॉल नियमों को लागू करने पर विचार करना चाहेंगे।
ऊपर सूचीबद्ध सुझाव सभी परिवेशों के लिए उपयुक्त नहीं हो सकते हैं, इसलिए सुनिश्चित करें कि आपके एप्लिकेशन को अलग-अलग सेटिंग्स की आवश्यकता नहीं होगी। MySQL को कॉन्फ़िगर करने पर अधिक क्रियात्मक दस्तावेज़ीकरण के लिए कृपया इस मार्गदर्शिका के "अधिक जानकारी" अनुभाग में अतिरिक्त संसाधन देखें।
जब भी आप /etc/mysql/my.cnf
. में सेटिंग संशोधित करते हैं , आपको MySQL सर्वर को पुनरारंभ करना होगा। निम्न आदेश जारी करें:
/etc/init.d/mysql restart
MySQL का उपयोग करना
MySQL के साथ अधिकांश इंटरैक्शन mysql
. के माध्यम से होता है कमांड लाइन उपयोगिता। MySQL के साथ बातचीत करने के लिए निम्न आदेश जारी करें:
mysql -u root -p
संकेत मिलने पर, वह पासवर्ड दर्ज करें जो आपने mysql_secure_installation
. के दौरान बनाया था प्रक्रिया। एक बार ऐसा करने के बाद, आपको MySQL प्रॉम्प्ट के साथ बधाई दी जाएगी:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.51-log Gentoo Linux mysql-5.1.51
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
यदि आप अपने MySQL रूट पासवर्ड को बाद की तारीख में भूल जाते हैं, तो इसे निम्नलिखित क्रम के आदेशों के साथ रीसेट किया जा सकता है:
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysqladmin -u root
लॉग इन करने के बाद, MySQL प्रॉम्प्ट पर निम्न कमांड दर्ज करें:
USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE User='root';
FLUSH PRIVILEGES;
exit
उपलब्ध आदेशों की सूची देखने के लिए (नहीं SQL सिंटैक्स), समस्या \h
MySQL प्रांप्ट पर:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
आइए एक डेटाबेस बनाएं और उसे एक उपयोगकर्ता असाइन करें। MySQL प्रांप्ट पर निम्न आदेश जारी करें:
CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 's8723hk2';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
exit
अब MySQL क्लाइंट में testuser
. के रूप में लॉग इन करें और "ग्राहक" नामक एक नमूना तालिका बनाएं। निम्नलिखित आदेश जारी करें:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
यह पूर्णांक के लिए INT प्रकार के ग्राहक आईडी फ़ील्ड के साथ एक तालिका बनाता है (नए रिकॉर्ड के लिए स्वत:वृद्धि, प्राथमिक कुंजी के रूप में उपयोग किया जाता है), साथ ही ग्राहक के नाम को संग्रहीत करने के लिए दो फ़ील्ड। बेशक, आप किसी ग्राहक पर इससे कहीं अधिक जानकारी संग्रहीत करना चाहेंगे, लेकिन फिर भी यह एक सामान्य मामले का एक अच्छा उदाहरण है।
ट्यूनिंग MySQL
MySQL ट्यूनर एक उपयोगी उपकरण है जो MySQL के चल रहे इंस्टेंस से जुड़ता है और वर्कलोड के आधार पर कॉन्फ़िगरेशन अनुशंसाएं प्रदान करता है। आदर्श रूप से, MySQL इंस्टेंस को ट्यूनर चलाने से कम से कम 24 घंटे पहले काम करना चाहिए था। इंस्टेंस जितना लंबा चल रहा है, MySQL ट्यूनर उतनी ही बेहतर सलाह देगा।
MySQL ट्यूनर को स्थापित करने के लिए निम्नलिखित कमांड जारी करें:
emerge dev-db/mysqltuner
MySQL ट्यूनर चलाने के लिए बस एंटर करें:
mysqltuner
कृपया ध्यान दें कि यह उपकरण कॉन्फ़िगरेशन सुझाव प्रदान करने के लिए डिज़ाइन किया गया है और यह एक उत्कृष्ट प्रारंभिक बिंदु है। MySQL का उपयोग करने वाले एप्लिकेशन के आधार पर कॉन्फ़िगरेशन को ट्यून करने के लिए अतिरिक्त शोध करना समझदारी होगी।
अधिक जानकारी
आप इस विषय पर अतिरिक्त जानकारी के लिए निम्नलिखित संसाधनों से परामर्श करना चाह सकते हैं। हालांकि ये इस उम्मीद में प्रदान किए जाते हैं कि वे उपयोगी होंगे, कृपया ध्यान दें कि हम बाहरी रूप से होस्ट की गई सामग्री की सटीकता या समयबद्धता की पुष्टि नहीं कर सकते।
- MySQL 5.1 संदर्भ मैनुअल
- PHP MySQL मैनुअल
- DBD::mysql के लिए पर्ल DBI उदाहरण
- MySQLdb उपयोगकर्ता मार्गदर्शिका