MySQL एक लोकप्रिय डेटाबेस प्रबंधन प्रणाली है, जिसका उपयोग हजारों वेब और सर्वर अनुप्रयोगों के लिए डेटा भंडारण प्रदाता के रूप में किया जाता है। यह मार्गदर्शिका शुरुआती लोगों को उबंटू 10.04 एलटीएस (ल्यूसिड) लिनोड पर MySQL के साथ आरंभ करने में मदद करेगी। इस ट्यूटोरियल के प्रयोजनों के लिए, हम मान लेंगे कि आपने हमारे कंप्यूट इंस्टेंस की स्थापना और सुरक्षा में उल्लिखित चरणों का पालन किया है, कि आपका सिस्टम अद्यतित है, और आपने एसएसएच के माध्यम से रूट के रूप में अपने लिनोड में लॉग इन किया है। यदि आप इन चरणों को एक मानक उपयोगकर्ता के रूप में sudo विशेषाधिकारों के साथ कर रहे हैं, तो नीचे दिखाए गए आदेशों के लिए "sudo" को पहले से जोड़ना याद रखें।
बेसिक सिस्टम कॉन्फ़िगरेशन
सुनिश्चित करें कि आपका /etc/hosts
फ़ाइल में समझदार मान हैं। नीचे दी गई उदाहरण फ़ाइल में, आप "12.34.56.78" को अपने लिनोड के आईपी पते से और "servername.example.com" को अपने लिनोड के पूरी तरह से योग्य डोमेन नाम (FQDN) से बदल देंगे। इस फ़ाइल में "सर्वरनाम" के लिए कुछ अद्वितीय और यादगार का उपयोग करने की सलाह दी जाती है।
- फाइल:/ आदि/मेजबान
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 servername.example.com servername
इसके बाद, सुनिश्चित करें कि आपके लिनोड का होस्टनाम आपके द्वारा /etc/hosts
में निर्दिष्ट संक्षिप्त मान पर सेट है :
echo "servername" > /etc/hostname
hostname -F /etc/hostname
सुनिश्चित करने के लिए universe
रिपॉजिटरी सक्षम हैं, अपनी /etc/apt/sources.list
को संशोधित करें नीचे दी गई उदाहरण फ़ाइल को मिरर करने के लिए फ़ाइल करें।
- फाइल:/ etc/apt/sources.list
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## main & restricted repositories deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted deb http://security.ubuntu.com/ubuntu lucid-security main restricted deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted ## universe repositories deb http://us.archive.ubuntu.com/ubuntu/ lucid universe deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe deb http://security.ubuntu.com/ubuntu lucid-security universe deb-src http://security.ubuntu.com/ubuntu lucid-security universe
MySQL स्थापित करना
सुनिश्चित करें कि आपके पैकेज रिपॉजिटरी और इंस्टॉल किए गए प्रोग्राम निम्न कमांड जारी करके अप टू डेट हैं:
apt-get update
apt-get upgrade --show-upgraded
अपने टर्मिनल में निम्न आदेश जारी करके प्रारंभ करें:
apt-get install mysql-server
आपको MySQL रूट यूजर के लिए पासवर्ड सेट करने के लिए कहा जाएगा। एक मजबूत पासवर्ड चुनें और इसे भविष्य के संदर्भ के लिए सुरक्षित स्थान पर रखें।
MySQL सर्वर पैकेज आपके सर्वर पर निर्भरता और क्लाइंट लाइब्रेरी के साथ स्थापित किया जाएगा। MySQL इंस्टाल करने के बाद, यह अनुशंसा की जाती है कि आप mysql_secure_installation
run चलाएं MySQL को सुरक्षित करने में मदद करने के लिए। mysql_secure_installation
चलाते समय , आपको MySQL रूट पासवर्ड बदलने, अनाम उपयोगकर्ता खातों को हटाने, लोकलहोस्ट के बाहर रूट लॉगिन को अक्षम करने और परीक्षण डेटाबेस को हटाने का अवसर दिया जाएगा। यह अनुशंसा की जाती है कि आप इन विकल्पों का उत्तर हां में दें। यदि आपको विशेषाधिकार तालिका पुनः लोड करने के लिए कहा जाए, तो हाँ चुनें। प्रोग्राम को निष्पादित करने के लिए निम्न कमांड चलाएँ:
mysql_secure_installation
mysql_secure_installation
चलाने के बाद , MySQL सुरक्षित है और कॉन्फ़िगर करने के लिए तैयार है।
MySQL को कॉन्फ़िगर करना
डिफ़ॉल्ट रूप से, MySQL मेमोरी के संबंध में आपके सर्वर वातावरण के बारे में कुछ धारणाएँ बनाता है। MySQL को अधिक रूढ़िवादी रूप से कॉन्फ़िगर करने के लिए, आपको इसकी कॉन्फ़िगरेशन फ़ाइल में कुछ सेटिंग्स को संपादित करने की आवश्यकता होगी। आपकी फ़ाइल निम्न के समान होनी चाहिए:
- फाइल:/ आदि/mysql/my.cnf
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
ये सेटिंग्स केवल निम्न स्मृति परिवेश के लिए सुझाए गए मान हैं; कृपया बेझिझक उन्हें अपने सर्वर के लिए उपयुक्त मानों पर ट्यून करें। इस विषय पर अतिरिक्त संसाधनों के लिए इस ट्यूटोरियल के अंत में "अधिक जानकारी" अनुभाग देखें।
MySQL डिफ़ॉल्ट रूप से लोकलहोस्ट (127.0.0.1) से जुड़ जाएगा। स्थानीय क्लाइंट के साथ अपने डेटाबेस से जुड़ने के बारे में जानकारी के लिए कृपया हमारी सुरक्षित MySQL रिमोट एक्सेस गाइड देखें।
सार्वजनिक आईपी पर MySQL तक अप्रतिबंधित पहुंच की अनुमति देने की सलाह नहीं दी जाती है, लेकिन आप bind-address
को संशोधित करके उस पते को बदल सकते हैं जिस पर वह सुनता है। पैरामीटर। यदि आप MySQL को अपने सार्वजनिक IP से बाँधने का निर्णय लेते हैं, तो आपको फ़ायरवॉल नियम लागू करने चाहिए जो केवल विशिष्ट IP पतों से कनेक्शन की अनुमति देते हैं।
MySQL का उपयोग करना
MySQL के साथ इंटरैक्ट करने के लिए मानक टूल mysql
है ग्राहक कार्यक्रम। आरंभ करने के लिए, अपने प्रॉम्प्ट पर निम्न आदेश जारी करें:
mysql -u root -p
आपको रूट MySQL उपयोगकर्ता का पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा। जब आपने MySQL स्थापित किया था, तब आपके द्वारा असाइन किया गया पासवर्ड दर्ज करें, और आपको MySQL मॉनिटर डिस्प्ले के साथ प्रस्तुत किया जाएगा:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.41-3ubuntu12 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
यदि आप अपना रूट पासवर्ड भूल गए हैं, तो उस पासवर्ड को बदलने के लिए पैकेज रीकॉन्फिगरेशन टूल का उपयोग करें:
dpkg-reconfigure mysql-server-5.1
MySQL प्रॉम्प्ट के लिए कमांड की सूची बनाने के लिए \h
. टाइप करें :
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement 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.
For server side help, type 'help contents'
mysql>
आइए एक डेटाबेस बनाएं और उसे एक उपयोगकर्ता असाइन करें। MySQL प्रांप्ट पर निम्न आदेश जारी करें:
CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
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 प्रकार के ग्राहक आईडी फ़ील्ड के साथ एक तालिका बनाता है (नए रिकॉर्ड के लिए स्वत:वृद्धि हुई और प्राथमिक कुंजी के रूप में उपयोग किया जाता है), साथ ही ग्राहक के नाम को संग्रहीत करने के लिए दो फ़ील्ड।
डिफ़ॉल्ट रूप से, डेटाबेस तक पहुंच लोकलहोस्ट से कनेक्शन तक सीमित होगी। किसी दूरस्थ स्थान से अपने डेटाबेस को सुरक्षित रूप से प्रबंधित करने के लिए, कृपया SSH सुरंग के साथ mysql को सुरक्षित रूप से प्रशासित करने के लिए हमारी मार्गदर्शिका का पालन करें। यह नहीं है अपने सार्वजनिक आईपी पते पर MySQL चलाने के लिए एक अच्छा अभ्यास, जब तक कि आपके पास ऐसा करने का कोई बहुत अच्छा कारण न हो।
अधिक जानकारी
आप इस विषय पर अतिरिक्त जानकारी के लिए निम्नलिखित संसाधनों से परामर्श करना चाह सकते हैं। हालांकि ये इस उम्मीद में प्रदान किए जाते हैं कि वे उपयोगी होंगे, कृपया ध्यान दें कि हम बाहरी रूप से होस्ट की गई सामग्री की सटीकता या समयबद्धता की पुष्टि नहीं कर सकते।
- MySQL 5.1 संदर्भ मैनुअल
- PHP MySQL मैनुअल
- DBD::mysql के लिए पर्ल DBI उदाहरण
- MySQLdb उपयोगकर्ता मार्गदर्शिका