MySQL एक लोकप्रिय डेटाबेस प्रबंधन प्रणाली है जिसका उपयोग वेब और सर्वर अनुप्रयोगों के लिए किया जाता है। यह मार्गदर्शिका बताएगी कि उबंटू 12.04 एलटीएस (सटीक पैंगोलिन) चलाने वाले लाइनोड पर MySQL को कैसे स्थापित, कॉन्फ़िगर और प्रबंधित किया जाए।
नोट यह मार्गदर्शिका गैर-रूट उपयोक्ता के लिए लिखी गई है। जिन आदेशों के लिए उन्नत विशेषाधिकारों की आवश्यकता होती है, उनके आगेsudo
. लगा होता है . अगर आपsudo
. से परिचित नहीं हैं आदेश, आप हमारे उपयोगकर्ता और समूह मार्गदर्शिका देख सकते हैं।
आवश्यकताएं
-
यदि आपने पहले से ऐसा नहीं किया है, तो एक लिनोड खाता बनाएं और उदाहरण की गणना करें। लिनोड के साथ शुरुआत करना और कंप्यूट इंस्टेंस गाइड बनाना देखें।
-
अपने सिस्टम को अपडेट करने और अपने होस्टनाम को कॉन्फ़िगर करने के लिए कंप्यूट इंस्टेंस गाइड की स्थापना और सुरक्षा का पालन करें। आप समय क्षेत्र सेट करना, एक सीमित उपयोगकर्ता खाता बनाना और SSH पहुंच को सख्त करना भी चाह सकते हैं।
अपना होस्टनाम चलाने की जाँच करने के लिए:
hostname hostname -f
पहली कमांड को आपका संक्षिप्त होस्टनाम दिखाना चाहिए, और दूसरे को आपका पूरी तरह से योग्य डोमेन नाम (FQDN) दिखाना चाहिए यदि आपके पास एक असाइन किया गया है।
MySQL इंस्टॉल करें
sudo apt-get install mysql-server
संस्थापन प्रक्रिया के दौरान, आपको MySQL रूट उपयोगकर्ता के लिए एक पासवर्ड सेट करने के लिए कहा जाएगा जैसा कि नीचे दिखाया गया है। एक मजबूत पासवर्ड चुनें और इसे भविष्य के संदर्भ के लिए सुरक्षित स्थान पर रखें।
MySQL डिफ़ॉल्ट रूप से लोकलहोस्ट (127.0.0.1) से जुड़ जाएगा। SSH टनल का उपयोग करके अपने डेटाबेस से कनेक्ट करने के बारे में जानकारी के लिए कृपया हमारी MySQL रिमोट एक्सेस गाइड देखें।
नोट सार्वजनिक आईपी पर MySQL तक अप्रतिबंधित पहुंच की अनुमति देने की सलाह नहीं दी जाती है, लेकिन आपbind-address
को संशोधित करके उस पते को बदल सकते हैं जिस पर वह सुनता है।/etc/my.cnf
में पैरामीटर . यदि आप MySQL को अपने सार्वजनिक IP से बाँधने का निर्णय लेते हैं, तो आपको फ़ायरवॉल नियम लागू करने चाहिए जो केवल विशिष्ट IP पतों से कनेक्शन की अनुमति देते हैं।
MySQL सर्वर को सख्त करें
डिफ़ॉल्ट MySQL स्थापना में कई सुरक्षा चिंताओं को दूर करने के लिए mysql_secure_installation स्क्रिप्ट चलाएँ।
sudo mysql_secure_installation
आपको MySQL रूट पासवर्ड बदलने, अनाम उपयोगकर्ता खातों को हटाने, लोकलहोस्ट के बाहर रूट डेटाबेस लॉगिन को अक्षम करने और परीक्षण डेटाबेस को हटाने का विकल्प दिया जाएगा। यह अनुशंसा की जाती है कि आप इन विकल्पों का उत्तर हां में दें। आप स्क्रिप्ट के बारे में MySQL संदर्भ मैनुअल में अधिक पढ़ सकते हैं।
MySQL परिनियोजित करें
MySQL के साथ इंटरैक्ट करने के लिए मानक टूल mysql
है क्लाइंट, जो mysql-server
. के साथ स्थापित होता है पैकेज।
रूट लॉगिन
-
MySQL में रूट यूजर के रूप में लॉग इन करने के लिए:
mysql -u root -p
-
संकेत मिलने पर,
mysql_secure_installation
. के समय आपके द्वारा असाइन किया गया रूट पासवर्ड दर्ज करें स्क्रिप्ट चलाई गई थी।फिर आपको MySQL मॉनिटर प्रॉम्प्ट के साथ प्रस्तुत किया जाएगा:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
-
MySQL प्रॉम्प्ट के लिए कमांड की सूची बनाने के लिए,
\h
enter दर्ज करें . फिर आप देखेंगे: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. For server side help, type 'help contents' mysql>
एक नया MySQL उपयोगकर्ता और डेटाबेस बनाएं
-
नीचे दिए गए उदाहरण में,
testdb
डेटाबेस का नाम है,testuser
उपयोगकर्ता है, औरpassword
उपयोगकर्ता का पासवर्ड है।create database testdb; create user 'testuser'@localhost identified by 'password'; grant all on testdb.* to 'testuser';
आप जबकि . उपयोगकर्ता बनाकर इस प्रक्रिया को छोटा कर सकते हैं डेटाबेस अनुमतियाँ असाइन करना:
create database testdb; grant all on testdb.* to 'testuser' identified by 'password';
-
MySQL से बाहर निकलें।
exit
नमूना तालिका बनाएं
-
testuser
. के रूप में वापस लॉग इन करें ।mysql -u testuser -p
-
customers
called नामक एक नमूना तालिका बनाएं . यहINT
. प्रकार के ग्राहक आईडी फ़ील्ड के साथ एक तालिका बनाता है पूर्णांक के लिए (नए रिकॉर्ड के लिए स्वत:वृद्धि, प्राथमिक कुंजी के रूप में उपयोग किया जाता है), साथ ही ग्राहक के नाम को संग्रहीत करने के लिए दो फ़ील्ड।use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
-
फिर MySQL से बाहर निकलें।
exit
MySQL रूट पासवर्ड रीसेट करें
यदि आप अपना रूट MySQL पासवर्ड भूल जाते हैं, तो इसे रीसेट किया जा सकता है।
-
वर्तमान MySQL सर्वर इंस्टेंस को रोकें।
sudo service mysql stop
-
कॉन्फ़िगरेशन प्रक्रिया को फिर से चलाने के लिए dpkg का उपयोग करें MySQL पहली स्थापना पर चलता है। आपको फिर से रूट पासवर्ड सेट करने के लिए कहा जाएगा।
sudo dpkg-reconfigure mysql-server-5.5
अब आप mysql -u root -p
. का उपयोग करके फिर से लॉग इन कर पाएंगे ।
MySQL ट्यून करें
MySQL ट्यूनर एक पर्ल स्क्रिप्ट है जो MySQL के चल रहे इंस्टेंस से जुड़ती है और वर्कलोड के आधार पर कॉन्फ़िगरेशन अनुशंसाएं प्रदान करती है। आदर्श रूप से, MySQL इंस्टेंस को ट्यूनर चलाने से कम से कम 24 घंटे पहले काम करना चाहिए था। इंस्टेंस जितना लंबा चल रहा है, MySQL ट्यूनर अनुशंसाएं अधिक सटीक होंगी।
-
Ubuntu के रिपॉजिटरी से MySQL ट्यूनर इंस्टॉल करें।
sudo apt-get install mysqltuner
-
इसे चलाने के लिए:
mysqltuner
आपसे MySQL रूट यूजर का नाम और पासवर्ड मांगा जाएगा। आउटपुट रुचि के दो क्षेत्रों को दिखाएगा:सामान्य अनुशंसाएं और चर समायोजित करने के लिए।
MySQL ट्यूनर एक MySQL सर्वर को ऑप्टिमाइज़ करने के लिए एक उत्कृष्ट प्रारंभिक बिंदु है, लेकिन आपके लाइनोड पर MySQL का उपयोग करने वाले एप्लिकेशन के अनुरूप कॉन्फ़िगरेशन के लिए अतिरिक्त शोध की सिफारिश की जाती है।
अधिक जानकारी
आप इस विषय पर अतिरिक्त जानकारी के लिए निम्नलिखित संसाधनों से परामर्श करना चाह सकते हैं। हालांकि ये इस उम्मीद में प्रदान किए जाते हैं कि वे उपयोगी होंगे, कृपया ध्यान दें कि हम बाहरी रूप से होस्ट की गई सामग्री की सटीकता या समयबद्धता की पुष्टि नहीं कर सकते।
- MySQL 5.1 संदर्भ मैनुअल
- PHP MySQL मैनुअल
- DBD::mysql के लिए पर्ल DBI उदाहरण
- MySQLdb उपयोगकर्ता मार्गदर्शिका