SQL/MySQL – DevExperience https://www.unzeen.com :// Sun, 17 Nov 2019 03:10:35 +0000 en-US hourly 1 การติดตั้ง MySQL และ PHP MySQL Extension https://www.unzeen.com/article/2028/ https://www.unzeen.com/article/2028/#respond Sat, 26 Jan 2013 09:15:06 +0000 http://www.unzeen.com/?p=2028 อันที่จริงเราได้ทำการติดตั้ง MySQL และ PHP Extension กันไปแล้วในบทความก่อนๆ แต่ไม่ได้เขียนละเอียดมากนัก บทความนี้จะลงลึกอีกนิดหน่อย ถ้าใครเป็นอยู่แล้วก็ข้ามไปได้เลยนะครับ อย่างที่ทราบกัน MySQL เป็นฐานข้อมูลที่นิยมมากบน Internet มีให้ใช้งานได้ฟรี (ถึงตอนนี้ Oracle จะซื้อไปแล้วก็ตามที) และ PHP ก็เป็นภาษาที่นิยมมากเช่นกัน วันนี้เราก็จะมาลองติดตั้ง MySQL และ PHP Extension เพื่อให้เราสามารถเขียนโปรแกรมด้วย PHP ให้สามารถติดต่อกับ MySQL ได้ ขั้นตอนก็ไม่ยุ่งยากเหมือนแต่ก่อนแล้วนะครับ ใช้คำสั่ง yum ไม่กี่คำสั่งก็เสร็จแล้ว

เริ่มด้วยการติดตั้ง MySQL

# yum install mysql mysql-server

จากนั้นทำการติดตั้ง httpd และ php

# yum install httpd php php-mysql php-mbstring

คอนฟิก MySQL และตั้งรหัสผ่านของ MySQL ด้วยคำสั่ง mysql_secure_installation

# mysql_secure_installation

เท่านี้เราก็สามารถใช้งาน MySQL ได้แล้วครับ จะใช้ผ่าน Shell หรือจะใช้ผ่าน phpMyAdmin ก็แล้วแต่ถนัดนะครับ ตอนนี้เราจะทดสอบโดยใช้ผ่าน shell นะครับ

# mysql -u root -p

]]>
https://www.unzeen.com/article/2028/feed/ 0
mysql_close(); ใช้หรือไม่ใช้ดี มาดูตัวอย่างกัน https://www.unzeen.com/article/1092/ https://www.unzeen.com/article/1092/#comments Sun, 17 Apr 2011 04:11:28 +0000 http://www.unzeen.com/?p=1092 mysql_close(); ใช้หรือไม่ใช้ดี ตอบว่าไม่จำเป็นต้องใช้และจำเป็นต้องใช้ขึ้นอยู่กับกรณีครับ ซึ่งจริงๆแล้ว php จะทำการปิด Connection ให้เองโดยอัตโนมัตทุกครั้งหลังจาก php script ของเราทำงานเสร็จอยู่แล้ว ว่าแต่ว่าแล้วจุดไหนที่จะเรียกว่า php script ได้ทำงานเสร็จสมบูรณ์แล้ว คำตอบก็คือบรรทัดสุดท้ายนั้นหละครับ จากตัวอย่างที่เห็นน้องๆหลายคนทำมาก็คือว่า จะใส่ mysql_close(); เอาไว้ในบรรทัดสุดท้ายของโปรแกรมเลย ซึ่งหากว่าใส่บรรทัดสุดท้ายซะขนาดนี้ก็ไม่จำเป็นต้องใส่ก็ได้ เนื่องจากว่าหลังจากบรรทัดนี้ไป php ก็จะทำการปิด Connection ให้เองอยู่แล้ว แต่ถ้าหากเห็นว่าสวยงามก็ไม่ว่ากัน

# ตัวอย่างที่ไม่จำเป็นต้องใช้ mysql_close();
แบบนี้ไม่จำเป็นต้องใช้ mysql_close(); ก็ได้ครับ เพราะหลังจากบรรทัด mysql_close(); ก็จบโปรแกรมพอดี ซึง php จะทำการปิด connection ให้เองอยู่แล้ว

";
}

// Close MySQL
// หากว่าจะทำการปิด connection ตรงบรรทัดสุดท้ายแบบนี้
// ไม่จำเป็นต้องปิด เพราะ php จะทำการปิดให้โดยอัตโนมัต
mysql_close();
?>

แล้วมีกรณีไหนบ้างไหมที่เราจำเป็นต้องใช้ mysql_close(); คำตอบคือมีครับ ตัวอย่างเช่นหากว่าเราทำการ Query MySQL และได้นำผลลัพธ์นั้นมาใช้แล้ว หรือว่าทั้ง Code ที่เราเขียนไม่มีส่วนใดส่วนหนึงต้องทำการเรียกใช้ MySQL แล้ว แต่ว่ายังมี Code บางส่วนที่ยังต้องทำงานอยู่ ตัวอย่างเช่น เราอาจจะสั่ง sleep(300); (หลับเป็นเวลา 5 นาที) และค่อยจบโปรแกรม ถ้าแบบนี้เราควรใช้ mysql_close(); นะครับ

# ตัวอย่างที่จำเป็นต้องใช้ mysql_close();
จากตัวอย่างนี้จำเป็นต้องปิด เพราะยังมี code บางส่วนที่เรายังต้องการให้ทำงานอยู่และ code ส่วนที่ว่าก็ไม่ได้มีการใช้ MySQL แต่อย่างใด

";
}

// Close MySQL
// ถ้าหากว่าหลังจากปิด connection ไปแล้ว ยังมี code ส่วนอื่นที่ยังทำงานอยู่
// แบบนี้ควรปิด เพราะจะได้คืน resource ไปใช้ทำอย่างอื่น
mysql_close();

// Sleep 300 seconds
// ตัวอย่างนี้ จะทำการ หน่วงเวลาการทำงานไป 5 นาทีก่อนจะจบโปรแกรม
sleep(300);

print "Complete";

?>

อ่านข้อมูลเพิ่มเติมได้ที่ PHP Manual นะครับ http://th2.php.net/manual/en/function.mysql-close.php

ปล. จริงๆ เขียนเรื่องนี้ก็กลัวๆ ว่าจะโดนต่อต้านว่าไม่ทำตามแบบแผนการเขียนโปรแกรมที่ดี แต่ไม่สนใจอันนี้ความคิดเห็นของผม คุณอ่านคุณตัดสินใจเลือกเอาเอง ^^

]]>
https://www.unzeen.com/article/1092/feed/ 2
วิธีการ Migrate MySQL -> MSSQL ผ่าน ODBC https://www.unzeen.com/article/875/ https://www.unzeen.com/article/875/#comments Mon, 20 Sep 2010 01:57:30 +0000 http://www.unzeen.com/?p=875 มีเหตจำเป็นให้ต้องนำขอมูลจาก MySQL ไปใช้บน MSSQL (Microsoft SQL Server) ลองทั้ง export และ import เข้าไปแล้วก็ยังไม่ถูกใจ มีปัญหาเรื่อง Field Type ต่างๆเพียบ วันนี้เรามาลองใช้วิธีการย้ายข้อมูลจาก MySQL ไปเป็น MSSQL ผ่านทาง ODBC กันดูบ้าง ยากง่ายประการใดตามไปเสพกัน

อยากแรกทำการ Download MySQL ODBC Connector มาทำการติดตั้งให้เรียบร้อย http://dev.mysql.com/downloads/connector/odbc/ ไม่ต้องคิดมากเลือกเอา MSI Installer Connector-ODBC นี้หละง่ายดี

เมื่อติดตั้งเรียบร้อย ก็มาถึงขึ้นตอนการสร้าง ODBC กันต่อเลย ให้เข้าไปที่ Control Panel -> System and Maintenance -> Administrative Tools ทำการเปิด Data Sources (ODBC) ขึ้นมาเลยครับ (ถ้าหากใครใช้ Windows Vista หรือ Windows 7 ที่มันจะหาไอคอนของสิ่งที่เราต้องการได้ยากมากๆ แนะนำให้ search เอานะครับ)

MySQL-Migrate-To-MSSQL

เลือกไปที่ System DSN และคลิก Add

MySQL-Migrate-To-MSSQL

ทำการเลือก Driver เป็น MySQL ODBC 5.1 Driver

MySQL-Migrate-To-MSSQL

ต่อไปทำการตั้ง Data Source Name เป็น MySQL-Migrate หรือจะเอาชื่อแฟนเก่ามาตั้งก็ได้ไม่ผิดกฏหมาย และไม่ต้องขอศาลคุ้มครองชั่วคราว จากนั้นกำหนด TCP/IP Server เป็น localhost และใส่ User กับ Password และเลือก Database ที่ต้องการให้เรียบร้อย ลองกด Test สักนิดเพื่อให้มันใจว่าสามารถติดต่อกับ MySQL ได้โดยไม่มีอะไรผิดพลาด และเมือเรียบร้อยแล้วก็คลิก OK ได้เลย

MySQL-Migrate-To-MSSQL

ขั้นตอนต่อไปทำการเปิด Microsoft SQL Server Management Studio ขึ้นมา และคลิกไปที่ New Query และใส่คำสั่งต่อไปนี้ลงไปแล้วก็กด Execute

EXEC master.dbo.sp_addlinkedserver 
@server = N'MySQL-Migrate', 
@srvproduct=N'MySQL-Migrate', 
@provider=N'MSDASQL', 
@provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=_test; USER=root; PASSWORD=root; OPTION=3'

ถ้าไม่มีอะไรผิดพลาดเราก็จะได้ link ไปยัง MySQL-Migrate ของเราเหมือนในรูป ถ้ายังไม่เห็นก็ลอง refresh ดูครับ

MySQL-Migrate-To-MSSQL

จากนั้นให้ทำการสร้าง Database ใน Microsoft SQL Server ขึ้นมา ในที่นี้ผมตั้งชื่อ Database ใหม่นี้ว่า TEST ก็แล้วกัน และทำการคลิกที่ New Query และสั่งคำสั่งต่อไปนี้ ซึ่งจะเป็นการ import ข้อมูลจาก table ชื่อ table_province ใน MySQL เข้ามาเป็น table table_province ใน MSSQL

SELECT * INTO TEST.dbo.table_province
FROM openquery("MySQL-Migrate", 'SELECT * FROM _test.table_province');

และเมื่อทุกอย่างเรียบร้อยแล้วข้อมูลของเราก็จะมาอยู่ใน Microsoft SQL Server ทันตาเห็น

MySQL-Migrate-To-MSSQL

ปล. สำหรับใครที่ใช้ ENUM ใน MySQL ต้องเปลียนไปใช้ VARCHAR ก่อนนะครับ ถึงจะเปลียนข้อมูลทั้งหมดไปเป็น MSSQL ได้

]]>
https://www.unzeen.com/article/875/feed/ 4
Import & Export ข้อมูลจาก MySQL (.sql , .csv , .php) แบบนี้ก็มีด้วย https://www.unzeen.com/article/422/ https://www.unzeen.com/article/422/#comments Thu, 18 Sep 2008 18:10:06 +0000 http://www.unzeen.com/?p=422 DatabaseName.sql – Import From SQL # mysql -uUsername -pPassword DatabaseName < DatabaseName.sql ต่อไปมาดูอีกแบบหนึ่ง ที่เราสามารถ export ออกไปเป็น csv text file ได้โดนผ่านทาง phpMyAdmin หรือจะใช้ผ่านทาง sql command ก็ได้ โดยให้ทำการ login เข้าไปยัง phpMyAdmin หรือ mysql ก่อนนะครับ - MySQL Login # mysql […]]]> เริ่มจากแบบที่เราใช้กันบ่อยๆกันก่อน โดยการสั่ง Export & Import ผ่านทาง Command Line

– Export To SQL

# mysqldump -uUsername -pPassword DatabaseName > DatabaseName.sql

– Import From SQL

# mysql -uUsername -pPassword DatabaseName < DatabaseName.sql

ต่อไปมาดูอีกแบบหนึ่ง ที่เราสามารถ export ออกไปเป็น csv text file ได้โดนผ่านทาง phpMyAdmin หรือจะใช้ผ่านทาง sql command ก็ได้ โดยให้ทำการ login เข้าไปยัง phpMyAdmin หรือ mysql ก่อนนะครับ

- MySQL Login

# mysql -uUsername -pPassword DatabaseName

หรือ ถ้าใช้ phpMyAdmin ก็ทำการ login เข้าไปแล้วเลือก database ที่ต้องการ จากนั้นเข้าไปใน menu "run sql query"

ต่อไปมาลอง Export & Import เป็น .csv กันบ้าง

- Export To CSV

SELECT * FROM TableName
INTO OUTFILE 'D:/TableName.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

- Import From CSV

LOAD DATA INFILE 'D:/TableName.csv'
INTO TABLE TableName
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';

- จุดที่น่าสนใจมันก็อยู่ตรงการ export ออกมาเป็น text file นี้แหละครับ

ตัวอย่าง ถ้าเราสามารถเข้าใช้งาน MySQL ในเครื่องของคนอื่นมาได้แล้ว (จะแฮกเข้าไปด้วยวิธีไหนก็ช่างนะครับ ขอให้ทำการ query คำสั่งได้เป็นพอ) ใน database ที่เราเข้าใช้งานนั้น มี table ชื่อ TableName อยู่ และมี field ชื่อ MSG ให้เราทำการ insert ขอมูลลงไปก่อนเลย เอาเป็น insert code php นี้แหละจะได้เห็นชัดๆกันไปเลย

- Insert PHP Code

INSERT INTO `TableName`(`ID`,`MSG`) VALUES(NULL,'');

จากนั้นทำการ export ข้อมูลในตัวอย่าง โดยจะให้เอาไปไว้ที่ drive d: ใครอยากลองเอาไปไว้ที่ไหนก็ตามสะดวกครับ (ดู permission ด้วยนะจ้ะ ว่าเรามีสิทธิ์เขียนลงใน folder นั้นหรือเปล่า)

- Export To phpinfo.php

SELECT `MSG` FROM `TableName` WHERE `ID`='1'
INTO OUTFILE 'D:/phpinfo.php'
LINES TERMINATED BY '';

ลองคิดดูซิครับว่าถ้าเราทำการ insert ข้อมูลที่เป็น html ที่เราต้องการลงไป และจากนั้นทำการสั่งให้เขียนไปทับ file index.html หรือ index.php ของ server เครื่องนั้นๆ อะไรจะตามมา.... ก็คุกซิครับพี่น้อง....

]]>
https://www.unzeen.com/article/422/feed/ 2
วันนี้มาดูวิธีการทำให้ข้อมูลที่อยู่ใน mysqlbinlog เป็นคำสั่ง SQL กันดีกว่า https://www.unzeen.com/article/200/ https://www.unzeen.com/article/200/#respond Mon, 28 Jan 2008 13:43:05 +0000 /?p=200 ทุกครั้งที่เราทำการเรียกใช้งาน MySQL ไม่ว่าจะเรียกผ่าน command line ของ MySQL เอง หรือว่าจะเป็นการใช้คำสั่ง sql ผ่านทาง php หรืออะไรก็ตาม คำสั่ง SQL ที่เราใช้จะถูกนำไปเก็บไว้ยัง mysqlbinlog

โดยตัว engin ของ MySQL จะทำการสร้าง log file เอาไว้ว่าเราเคยใช้คำสั่งอะไรไปบ้าง แต่ว่าข้อมูลที่เก็บนั้นจะเป็น ข้อมูลแบบ binary ซึ่งทำให้เราไม่สามารถอ่านข้อมูลได้โดยตรง และโดยปกติแล้ว logfile ตัวนี้จะถูกเก็บไว้ในชื่อ hostname-bin.001 ซึ่งจะมีการ run หมายเลข ID ของ log ขึ้นไปเรื่อยๆ และจะถูกเก็บไว้ใน folder เดี่ยวกับ folder ที่เก็บ database ของ MySQL

ในการจะทำให้ข้อมูลที่อยู่ใน mysqlbinlog เป็น คำส่ง SQL ก็สามารถใช้งานได้ด้วยคำสั่งง่ายๆ เพียงคำสั่งเดี่ยว ดังนี้

# mysqlbinlog hostname-bin.001 > /tmp/queries.sql

จากนั้นให้ลองไปเปิด ข้อมูลใน /tmp/queries.sql ด้วย vi หรือ nano แล้วแต่ถนัดนะครับจะพบว่ามีคำสั่ง sql ที่เราเคยใช้อยู่ใน file นี้ และจะมีวันที่และเวลาที่ใช้งานกำกับไว้ด้วย

การที่ MySQL เก็บข้อมูลของคำสั่งที่เคยมีการเรียกใช้ทั้งหมดลงไปใน file binarylog ก็มีข้อดี คือเราสามารถทำการ ตรวจสอบย้อยหลังได้ว่า มีการใช้งานคำสั่ง sql อะไรที่อาจมีผลกระทบกับระบบไปบ้าง และยังสามารถทำการนำเอาข้อมูลใน mysqlbinlog มาเป็นข้อมูล backup เอาไว้ใช้ยามจำเป็นได้อีกด้วย

]]>
https://www.unzeen.com/article/200/feed/ 0
Backup MySQL แล้วส่งเข้า gmail โดยใช้ php https://www.unzeen.com/article/129/ https://www.unzeen.com/article/129/#respond Sun, 28 Aug 2005 10:45:15 +0000 /?p=129 วันนี้ผมจะมาแนะนำการทำการ backup ข้อมูลของ MySQL ไปเก็บไว้ที่ gmail โดยจะทำการตั้งเวลาการ backup โดยใช้ crontab ผ่านทาง controlpanel ของ PLESK (ถ้าหากว่าใครใช้ controlpanel ตัวอื่นก็ไปหาวิธีการตั้ง crontab เอาเองนะครับ) โดยจะตั้งให้ทำการ backup database MySQL ในเวลา เวลา 24.00 น. ของทุกๆวัน

หลังจากห่างหายไม่ได้เขียนบทความหลายวัน วันนี้เลยขอเสนอบทความที่คิดว่าจะมีประโยชน์มากสำหรับ หลายๆคนที่มี website อยู่และต้องการที่ จะทำการ backup ข้อมูล เพราะเราไม่อาจจะทราบได้ว่า server ที่เราใช้อยู่จะตายเมื่อไร

ถ้า หากว่าคุณมี server เป็นของตัวเอง 2 ตัว การที่จะทำการ backup ข้อมูลจากเครื่องหนึ่งไปไว้ที่อีกเครื่องหนึ่งก็ไม่ใช่เรื่องอยากอะไร แต่ถ้าหากว่าเราเป็นแค่ผู้เช่า hosting ธรรมดารายหนึ่ง ไม่มีเงินพอที่จะไปซื้อ server ไปว่างที่ ISP เองก็คงจะอยากที่จะทำการ backup ข้อมูล ถึงแม้ว่า hosting หลายรายเขาจะบอกว่าเขาทำการ backup ข้อมูลให้เรา ทุกๆวันก็ตาม ผมก็ยังไม่ใว้ใจอยู่ดี

วันนี้ผมจะมาแนะนำ การทำการ backup ข้อมูลของ MySQL ไปเก็บไว้ที่ gmail โดยจะทำการตั้งเวลาการ backup โดยใช้ crontab ผ่านทาง controlpanel ของ PLESK (ถ้าหากว่าใครใช้ controlpanel ตัวอื่นก็ไปหาวิธีการตั้ง crontab เอาเองนะครับ) โดยจะตั้งให้ทำการ backup database MySQL ในเวลา เวลา 24.00 น. ของทุกๆวัน

บทความนี้ ผมไม่ลงลึกถึงรายละเอียดของตัวโปรแกรมนะครับว่ามีหลักการทำงานยังไง แต่จะบอกแค่ว่า ต้องเปลี่ยนตัวค่าของตัวแปร ตรงไหน แค่นั้น เพราะลงลึงไม่ได้เดี่ยวจะยาวกว่านี้

มาเริ่มกันเลย อย่างแรก download sql2gmail.zip ไปก่อนนะครับ จากนั้น unzip จะได้ออกมา 7 file ดังนี้
1. check_php_path.php // ใช้หา path ของ PHP ว่าอยู่ที่ path อะไร
2. class.phpmailer.php // เป็น class ที่ใช้ส่ง email มีคนเขียนไว้แล้วฟรีด้วย และแนบ file ได้ด้วย หรือใคร อยากจะเขียน code ที่ใช้ส่ง email แล้วแนบ file ได้ด้วยก็เอาเลยครับ
3. class.smtp.php
4. class.export.mysql.php // ตัวนี้เป็น function ที่ใช้ export ข้อมูลใน MySQL ออกมาเป็นคำสั่งของ SQL (เขียนเอง)
5. sql2gmail.php // ตัวนี้เป็นโปรแกรมที่จะส่ง email พร้อมแนบ file ที่เรา export จาก MySQL ไปที่ gmail
6. mysql.sql // เป็น file ที่เราจะเก็บข้อมูลที่ใช้ในการ backup
7. run.php // เป็น file ที่เราจะสั่งให้ crontab เข้ามา run เพื่อจะทำการ run sql2gmail.php อีกทีหนึง

เพิ่มเติม ที่จริงเราสามารถสั่งให้ crontab run sql2gmail.php ได้โดยตรงโดยไม่ต้องผ่าน run.php ก็ได้ในบาง server นะครับ แต่ server ของผมได้ทำการป้องกันการเข้าใช้งาน folder ของระบบเอาไว้ทำให้ไม่สามารถเรียกใช้งานได้โดยตรงต้องทำการ run ผ่านโปรแกรมอีกตัวหนึ่งก่อน

ต่อไปทำการ up file check_php_path.php ขึ้นไปที่ server จากนั้นทำการเรียก file check_php_path.php จะได้ข้อมูลออกมา แบบนี้

Server Time : 2005-08-28 09:18:33
Server Path : /usr/local/psa/home/vhosts/yourdomain.com/httpdocs/sql2gmail/check_php_path.php
PHP Path : #!/usr/local/bin/php

ถ้าหากว่าค่าของ PHP Path ไม่ออกมาก็ต้องมาเด่ากันละครับว่าเขาลง php ไว้ที่ไหน แต่โดยทั่วไปก็จะอยู่ที่ /usr/local/bin/php หรือไม่ก็ที่ /usr/bin/php เพราะเราจำเป็นต้องรู้ path ที่ใช้ลง php ในการ run โปรแกรม

จาก นั้นทำการเปิด file run.php ขึ้นมา และทำการเปลี่ยน path ของ php ในบรรทัดแรกให้เป็นค่าที่เราได้จากขั้นตอนที่แล้ว และทำการเปลี่ยน path ของ sql2gmail.php เป็น URL ที่เราจะทำการ upload file ขึ้นไป

run.php

#!/usr/local/bin/php
 

จากนั้นทำการเปิด file sql2gmail.php เพื่อทำการแก้ไข ค่าต่างๆ ดังนี้

sql2gmail.php

IsSMTP();
$mail->Host = "localhost";
$mail->CharSet = "iso-8859-11";
$mail->AddReplyTo("[email protected]","Webmaster");
$mail->From = "[email protected]"; // ชื่อ email ที่จะใช้ส่ง
$mail->FromName = "Webmaster";
$mail->AddAddress("[email protected]"); // e-mail ของคุณที่จะใช้รับ file backup
$mail->IsHTML(true);
$mail->Subject = "MySQL Backup ".date("Y-m-d H:i:s");
$mail->Body = "MySQL Backup ".date("Y-m-d H:i:s");
$mail->AddAttachment($filename, $filename);

if($mail->Send()){
print "Yes";
}else{
print "No";
}
?>

ต่อไปก็ทำการ upload ทุก file ขึ้นไปที่ server ได้เลยครับ และทำการ เปลี่ยน permission ของ mysql.sql เป็น 777 เพื่อให้โปรแกรมของเราทำการเขียนข้อมูลลงไปได้ และทำการเปลี่ยน permission ของ sql2gmail.php และ run.php ให้เป็น 755 จะได้ทำการ run ผ่าน command line ได้

จากนั้นก็มาทดสอบโปรแกรมกันเลย ให้ทำการเรียกโปรแกรม sql2gmail.php ผ่านทาง webbrowser ถ้าได้ค่ากลับมาเป็น Yes ก็ แสดงว่าโปรแกรมของเราได้ทำการส่ง backup database ไปที่ email ที่เรากำหนดไว้แล้ว แต่ถ้าค่าที่ได้เป็น No ก็แสดงว่าส่ง email ออกไปไม่ได้ อาจจะเป็นจากตัว file backup ที่จะให้ส่งออกไปมีขนาดใหญ่เกินไป ให้คุณลองทำการเลือก table ที่มีขนาดเล็กๆ ก่อนว่าได้หรือเปล่า

จากนั้นลองไปเช็คดูที่ email ว่ามีข้อมูลถูกส่งไปหรือยัง ถ้าหากว่าไม่มีอะไรผิดพลาดก็ทำขั้นตอนต่อไปได้เลย

ต่อไปก็มาถึงขั้นตอนการกำหนด crontab กันแล้ว ให้ทำการ login เข้าไปที่ controlpanel ของ PLESK ที่ทาง hosting ให้เรามา

ทำการ Login เข้า PLESK Controlpanel

ทำการ click ที่ Crontab Manager

ทำการ click ที่ Add เพื่อเพิ่ม crontab

กำหนดค่าเวลาที่ต้องการให้โปรแกรมทำงานลงไป ในตัวอย่างคือ เวลา 24.00 น. ของทุกวัน และในช่อง command ให้กำหนดเป็น path ของโปรแกรม run.php ลงไป โดยต้องกำหนดเป็น path เต็มของ server ซึ่งสามารถดู path ของ server ได้จาก โปรแกรม check_php_path.php ซึ่งจากตัวอย่างนี้ก็ คือ Server Path ที่ได้คือ /usr/local/psa/home/vhosts/yourdomain.com/httpdocs/sql2gmail/check_php_path.php

ฉะนั้น Path ของ run.php ของเราก็จะเป็น usr/local/psa/home/vhosts/yourdomain.com/httpdocs/sql2gmail/run.php
เมื่อกำหนดค่าต่างๆ แล้วให้ทำการ click ที่ update

ส่วนในช่อง Send crontab messages to address: ให้กำหนดเป็น email address ของเราเพราะว่าเวลาที่ crontab ทำงานจะได้มีข้อมูล ส่งไปหาเราด้วยว่า โปรแกรมทำงานถูกต้องหรือยัง หรือว่ามี error ที่ตรงไหน แต่ถ้าหากว่าแน่ใจแล้วก็ไม่ต้องใส่ก็ได้ ครับ

และ ต่อไปเราก็ไม่ต้องห่วงเรื่องการ backup ข้อมูลใน database ที่สำคัญของเราแล้ว เพราะว่าเรามีโปรแกรม backup ข้อมูลที่ทำงาน ทุกๆ วันอยู่แล้ว

อีกนิดหนึง อย่าลืมไปลบข้อมูล file backup เก่าๆใน email ออกด้วยนะครับเดี่ยว email จะเต็มโดยไม่รู้ตัว

]]>
https://www.unzeen.com/article/129/feed/ 0