Showing posts with label MySQL தகவல்தளம். Show all posts
Showing posts with label MySQL தகவல்தளம். Show all posts

Oct 16, 2014

MySQL இல் LOAD DATA INFILE பிழைக்கான தீர்வு

ஒரு Table னுடைய column க்கு தேவையான தகவல்கள் ஒரு Tab இடைவெளியிலும், ஒரு Row க்கு தேவையான தகவல்கள் ஒரு புதிய line னாலும் ஒழுங்குபடுத்தப்பட்டு ஒரு கோப்பில் சேமிக்கப்பட்டிருந்தால், அந்த தகவல்களை நாம் நேரடியாக ஒரு Table க்குள் செலுத்திக்கொள்ளலாம்.


இதற்கு பயன்படும் கட்டளைதான் LOAD DATA INFILE

LOAD DATA INFILE இன் Syntax பின்வருமாறு இருக்கும்

LOAD DATA INFILE '/full/path/of/file/name' INTO TABLE table name;

இந்த Query யை நான் இயக்கிய போது எனக்கு கீழ்காணும் பிழைச் செய்தி கிடைத்தது.


ஏதாவது எழுத்து பிழை இருக்கலாம் என நினைத்துக்கொண்டு ஒன்றிற்கு இரண்டு முறை கட்டளை வரியை சரிபார்த்து கொண்டேன் எல்லாம் சரியாகத்தான் இருந்தது. அடுத்ததாக கோப்பிற்கு chmod 777 data.txt என கொடுத்து முழு அனுமதியையும் அளித்துப்பார்த்தேன் அப்படியும் வேலை செய்யவில்லை. அப்படியென்றால் பிழை வேறு எங்கோ இருக்கிறது என நினைத்து இணையத்தில் தேடினேன். இங்கு தீர்வு கிடைத்தது.

பணிபுரிந்து கொண்டிருந்த MySQL Terminal ஐ மூடிவிட்டு மறுபடியும் நுழையும் போது கீழ்காணும் கட்டளைகளை அமைத்து உள்நுழைந்தேன்.



myql -u root -p --local-infile=1

அதன்பின் LOAD DAT INFILE என்பதை LOAD DATA LOCAL INFILE என கட்டளையை மாற்றி அமைத்த போது கட்டளை வரி மிகவும் சரியாக வேலை செய்தது.


Dec 2, 2012

ஒற்றை வரிக் கட்டளையில் LAMP Server -ஐ உபுண்டு 12.04 -ல் நிறுவுதல்

Linux Apache MySQL PHP - என்பதன் சுருக்கமே LAMP ஆகும்.  LAMP எனபது மிகவும் பிரபலமானதொரு இணையதள உருவாக்க/வடிவமைப்புச் சூழல்.

இதில் Linux என்பது லினக்ஸ் இயங்குதளம் (எந்தவொரு லினக்ஸ் வழங்கலாகவும் இருக்கலாம்),  Apache என்பது இணைய வழங்கி(Web Server), MySQL என்பது RDBMS தகவல்தளம், PHP என்பது மாறக்கூடிய இணையப் பக்கங்களுக்கான (Dynamic Web Page)Scripting Language.

LAMP -ல் நாம் நிறுவ வேண்டியவை Apache, MySQL, PHP ஆகியவைகள் மட்டுமே.  நம்மிடம்தான் உபுண்டு இயங்குதளம் இருக்கே.  இவையனைத்தையும் தனித்தனியாக நிறுவவேண்டியதில்லை, அப்படி நிறுவ முற்பட்டாலும் அது நமக்கு கொஞ்சம் களைப்பான செயலாகத்தான் அமையும் ஆகையால் இவையனைத்தையும் ஒரே வரிக் கட்டளையில் நிறுவ முடிந்தால் நன்றாக இருக்குமல்லவா!  

ஒற்றை வரி கட்டளையின் மூலம் LAMP  Server னை நிறுவக்கூடிய வசதில் உபுண்டு 12.04 LTS - ல் இருக்கிறது.  அது எப்படி என பார்ப்போம்.

கணினியில் இணைய இணைப்பு இருக்க வேண்டும் அதுதான் இங்கு முக்கியமாக குறிப்பிட வேண்டியது.  ஏன் இதைச் சொல்கிறேன் என்றால் நான் பாலிடெக்னிக் படித்த காலத்தில் LINUX For You Magazine -ல் மென்பொருள்கள் நிறுவக் கொடுத்திருக்கும் கட்டளைகளை அப்படியே முனையத்தில் தட்டச்சு செய்வேன் ஆனால் மென்பொருள் நிறுவப்படாது.   காரணம் தெரியவில்லை, இணைய இணைப்பின் மூலம்தான் இந்தக் கட்டளை வேலை செய்யும் என காலப்போக்கில் தான் எனக்கு தெரியும். இப்பபொழுது இருக்கக்கூடிய இணையவசதியெல்லாம் அப்பொழுது இல்லை.  இப்பொழுது இணையவசதியினை மிகவும் எளிதாக GPRS மூலம் லினக்ஸிற்குள் கொண்டு வந்து விடலாம். அறியாத வயசுதானே அத விடுங்க.

முதல் படி:
முனையத்தை திறந்து கொள்ளவும், அதில் கீழ்கண்ட கட்டளைகளைக் கொடுக்கவும்.

sudo apt-get update

sudo apt-get install lamp-server^

கவனிக்க: ^  இந்தக்  குறியிடு Keyboard -ல் இருக்கும் Number key - 6 -ல் இருப்பது இதைக் கட்டாயம் கொடுக்க வேண்டும்


உங்களின் இணைய இணைப்பின் வேகத்தினைப் பொறுத்து நிறுவுதல் முடியும். நிறுவுதல் முடியும் வரை காத்திருக்கவும். நிறுவுதல் முடியும் தருவாயில் MySQL Database னுடைய root பயனாளருக்கான கடவுச்சொல்(password) கேட்கும், கடவுச்சொல்லை உள்ளிடவும்.



நிறுவுதல் முடிந்தபின் அனைத்தும் சரியாக நிறுவப்பட்டிருக்கிறதா என சோதனை செய்து பார்க்க வேண்டியது அவசியமல்லவா!

Apache Server -னை சோதனை செய்து பார்க்க:

முனையத்தில் sudo service apache2 restart  கட்டளையினை இயக்கவும்.  இந்தக் கட்டளையினைக் கொடுத்தவுடன், Apache Server மறுதொடக்கம் செய்யப்படும்.

உங்கள் கணினியில் இருக்கும் ஏதாவதொரு இணைய உலாவியினைத் திறந்து, முகவரிப் பட்டையில் http://localhost/  எனக் கொடுத்து இயக்கவும், இயக்கியவுடன் கீழ்காணுவது உலாவியில் தெரிந்தால் சரியாக இயங்குகிறது என்று அர்த்தம்.

PHP -  யினை சோதனை செய்து பார்க்க:

முதலில் /var அடைவிற்குள் www எனும் பெயருடன் ஒரு அடைவு உருவாக்கப் பட்டிருக்கிறதா என சரிபார்த்துக் கொள்ளுங்கள்.  அப்படி உருவாகி இருக்கவில்லையென்றால்

முனையத்தில்,

cd /var
sudo mkdir www

எனக் கொடுத்து www எனும் அடைவினை உருவாக்கிக் கொள்ளுங்கள்.

அதன்பிறகு, முனையத்தில் கீழ்காணும் கட்டளையினைக் கொடுங்கள்,

echo "" | sudo tee /var/www/testing.php

முனையத்தில் sudo service apache2 restart கட்டளையினைக் கொடுத்து ஒருமுறை Apache Server -னை மறுதொடக்கம் செய்து கொள்ளுங்கள்.

அடுத்து, இணைய உலாவி ஏதாவது ஒன்றைத் திறந்து முகவரிப் பட்டையில் கீழ்காணும் முகவரியினைக் கொடுங்கள், 

http://localhost/testing.php

படத்தில் உள்ளது போன்று உங்களுக்கு செய்தி கிடைத்தால் PHP  -யும் சரியாக நிறுவப்பட்டிருக்கிறது என முடிவு செய்துக் கொள்ளலாம்.


வெற்றிகரமாக இப்பொழுது LAMP Server -னை உபுண்டு வில் நிறுவியிருப்போம்.

Jul 8, 2010

லினக்சில் MySQL தகவல்தளம் (Database)

MySQL என்பது Oracle,MS-Access,FOXPRO,SQL server தகவல்தளங்களைப் போன்று ஒரு தகவல்தள மென்பொருளாகும்(திறவூற்று தகவல்தள மென்பொருள்-Open Source Database).நான் பொறியியல் படித்துக்கொண்டிருப்பதால் இந்த பருவத்திற்கு DBMS என்ற பாடம் எனக்கு உள்ளது.இந்த பாடத்திற்கு ஆய்வகமும் உள்ளது.இந்த பாடத்தின் ஆய்வகத்திற்கு நாங்கள் Oracle மென்பொருளைப் பயன்படுத்தி பயிற்சிகளை செய்கிறோம்.
நாங்கள் பயன்படுத்தும் ஆரக்கிள் மென்பொருளானது விண்டோஸ் இயங்குதளத்தில் இயங்குகிறது.பெரும்பாலும் அனைத்து பொறியியல் மற்றும் பல்தொழில்நுட்பக் கல்லூரிகளில் தகவல்தளம் சம்பந்தமான பாடத்திற்கு ஆரக்கிள் மென்பொருளைப் பயன்படுத்தியே செய்முறை வகுப்புகளை நடத்துகின்றனர்.நான் பாலிடெக்னிக் படிக்கும் பொழுது கூட எனக்கு ஆரக்கிள் மென்பொருள்தான் கற்றுத்தரப்பட்டது. MySQL என்ற தகவல்தளம் இருப்பது கூட எங்களுக்கு சொல்லித்தரப்படவில்லை.விண்டோஸ் இயங்குதளத்திலும் இந்த MySQL தகவல்தள மென்பொருளைப் பயன்படுத்திக்கொள்ளலாம்.விண்டோஸ் இயங்குதளத்தில் நாம் பயன்படுத்திக் கொண்டிருக்கும் அத்தனை மென்பொருள்களுக்கும் அதற்கு சமமான மென்பொருள்கள் லினக்ஸிலும் இருக்கிறது.நாம்தான் தேடிக்கண்டுபிடித்து நிறுவி பயன்படுத்த வேண்டும்.இதற்கு முன் MySQL தகவல்தள மென்பொருளைப் பயன்படுத்திப் பார்க்கும் வாய்ப்பு எனக்கு ஒரு சில முறை மட்டும் கிடைத்தது விண்டோஸ் இயங்குதளத்தில் MySQL மென்பொருளை நிறுவிவைத்திருந்தாலும் அடிக்கடிப் பயன்படுத்திப் பார்ப்பதில்லை இப்பொழுதுப் பாடத்திட்டத்தில் இருப்பதால் பயன்படுத்த வேண்டிய அவசியம் ஏற்பட்டுள்ளது.நான் பயன்படுத்திப் பார்த்த அளவில் ஆரக்கிள் மென்பொருளுக்கும் MySQL மென்பொருளுக்கும் கட்டளைகளை இயக்குவதில் கொஞ்சம் வித்தியாசம் இருப்பதாக உணர்கிறேன்.MySQL மென்பொருளை உபுண்டு 9.04 இயங்குதளத்தில் நிறுவுவதற்கு எவ்வளவோ முயற்சி செய்தேன் நிறுவமுடியவில்லை.இறுதியாக இந்த முயற்சியினை கைவிட்டுவிட்டு லினக்ஸ் மின்டில் நிறுவினேன்.என்னுடைய மடிக்கணினியில் லினக்ஸ் மின்ட் நிறுவவில்லை வன்வட்டில் பிரச்சனை.என்னுடைய நண்பர் செ.வெங்கட்ராமன் அவர்களுடைய மடிக்கணினியில் லினக்ஸ் மின்டினை நிறுவியிருக்கிறார்.
நான் எப்படி MySQL தகவல்தள மென்பொருளை நிறுவினேன் எப்படி பயன்படுத்தினேன் என்பதை இந்த பதிவில் உங்களுடன் பகிர்ந்து கொள்கிறேன்.நான் லினக்ஸ் மின்டில் முதலில் நிறுவியது MySQL Client மென்பொருளைத்தான் ஆனால் இந்த மென்பொருளை சரிவர இயங்கவில்லை பிழைச்செய்திகளைக் காட்டியது.ஆகையால் MySQL Server பதிப்பு மென்பொருளை நிறுவினேன் இங்கு நான் கூறுகின்ற வழிமுறைகள் அனைத்தும் MySQL Server மென்பொருளுக்குண்டானதுதான்.

சரி செய்முறைக்கு செல்வோம்.
Mysql Client மென்பொருளை நிறுவி இயக்கிய பொழுது காட்டிய பிழைச்செய்தி (கீழுள்ள படத்தில் உள்ளது )
  • முதலில் Linux Mint -ல் root பயனாளராக நுழையவும்.
  • முனையத்தில் apt-get install mysql-server-5.0 எனக் கட்டளையினைக் கொடுத்து என்டர் பொத்தானை அழுத்தவும்.(நீங்கள் இணைய இணைப்பில் இருக்க வேண்டும்)
  • நிறுவுவதற்கு ஒரு சில நிமிடங்கள் பிடிக்கும் நிறுவிக்கொண்டிருக்கும் பொழுது இடையில் MySQL க்கு உண்டான root பயனாளரினுடைய கடவுச்சொல்லை இரண்டுமுறை உள்ளிடச்சொல்லிக் கேட்கும்.(Linux Mint இயங்குதளத்தினுடைய root பயனாளரினுடைய கடவுச்சொல்லைத்தான் கொடுக்கவேண்டும் என்ற அவசியமில்லை) கடவுச்சொல்லைக் கவனமாகக் கொடுக்கவும் மறந்துவிட்டால் ஒன்றும் செய்ய முடியாது.
  • நிறுவி முடித்தவுடன் முனையத்தில் mysql -u root -p கொடுத்து என்டர் பொத்தானை அழுத்தவும்.
  • கடவுச்சொல்லை உள்ளிடவும்(mysql install ஆகும் பொழுது கொடுத்த கடவுச்சொல்) அவ்வளவுதான் இனிமேல் நீங்கள் MySQL மென்பொருளப் பயன்படுத்த ஆரம்பிக்கலாம்.
------------------------------------------------------------------------------------
  1. MySQL னுடைய தளம் இங்கு சென்று MySQL மென்பொருளை தரவிறக்கிக் கொள்ளலாம்.விண்டோஸ்இயங்குதளத்தில் நிருவுவும் வடிவிலும் கொடுக்கப்பட்டு உள்ளது.
  2. MySQL தகவல் தளத்தை எப்படி பயன்படுத்துவது என்பதை இந்த தளத்தில் இருந்து கற்றுக்கொள்ளலாம்.
  3. MySQL தகவல் தளத்தைப் பற்றிய விக்கிபீடியா கட்டுரை.
------------------------------------------------------------------------------------
எனது நண்பர் செ.வெங்கட்ராமன் பயன்படுத்திக்கொண்டிருக்கும் Linux Mint னுடைய பதிப்பு Elyssa (Linux Mint 5.0).இந்த பதிவினை எழுத மடிக்கணினி கொடுத்து உதவிய நண்பர் செ.வெங்கட்ராமன் B.E (E.C.E) அவர்களுக்கு நன்றியினை தெரிவித்துக்கொள்கிறேன்.