คอมพิวเตอร์และอินเตอร์เน็ต,บรรยายวิชาการ,วิจัย,ศึกษากุรอาน,E-Book

วันพฤหัสบดีที่ 29 กรกฎาคม พ.ศ. 2564

วิธี Backup ข้อมูลขนาดใหญ่ จาก Mysql


 วิธี Backup ข้อมูลขนาดใหญ่ จาก Mysql

1.Run script ของ mysqldumper จากServer

2.Download ไฟล์ที่ได้จากข้อ (1)

3.แตก zip ให้เป็น .sql

4.ใช้โปรแกรม HeidiSQL

5.นำเข้า Mysql ใน PC ด้วยคำสั่ง File->Run SQL File


ตัวอย่าCode PHP MongoDB

 


//read all data
//$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$query = new MongoDB\Driver\Query([]); 
$rows = $mng->executeQuery("q_alert_db.qa_sys_user", $query);
foreach ($rows as $man) {
 echo "$man->fname  $man->lname<br>";
}


//read with sort and limit 5
//$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$query = new MongoDB\Driver\Query([], ['sort' => [ 'fname' => 1], 'limit' => 5]);  
/* 'sort' => [ 'fname' => -1]  */ 
$rows = $mng->executeQuery("q_alert_db.qa_sys_user", $query);
foreach ($rows as $man) {
    echo "$man->fname  $man->lname<br>";
}


//filter and wilde card
//$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$filter = [ 'office_id' => array('$regex' => '12')]; 
$options = ['projection' => ['_id' => 0],'sort' => ['office_id' => -1]]; 
$query = new MongoDB\Driver\Query($filter, $options);     
$res = $mng->executeQuery('q_alert_db.qa_sys_user', $query);
$c=1;
foreach ($res as $man) {
    if(substr($man->office_id,0,2)=='12'){ //แก้ปัญหา ที่จะแสดงทุกค่าที่มี 12
        echo "$c $man->fname  $man->lname $man->office_id<br>";
        $c++;
    }
}


//insert or write data
//$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ['_id' => new MongoDB\BSON\ObjectID, 
        'username' => 'Toyota', 
        'password' => 'aaa',
        'login_type' =>'1',
        'login_status' =>'1'
    ];
$bulk->insert($doc);
/*
$bulk->update(['name' => 'Audi'], ['$set' => ['price' => 52000]]);
$bulk->delete(['name' => 'Hummer']);
*/
$mng->executeBulkWrite('q_alert_db.qa_sys_user', $bulk);
echo "Insert Data Already\n";



การนับจำนวน Count Document ใน MongoDB

 

การนับจำนวน document หรือ record สำหรับ mongoDB 
ที่คำนวณได้รวดเร็วที่สุด ดังนี้

//$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$command = new MongoDB\Driver\Command(["count" => "qa_self_t8"]);
$result = $mng->executeCommand("q_alert_db", $command);
$res = current($result->toArray());
$count = $res->n;
echo $count;


หากต้องการ filter ให้เปลี่ยน $command เป็น

$myfilter = ["verify" => "1"];
$command = new MongoDB\Driver\Command(["count" => "qa_self_t8", "query" => $query]);

 ดังนี้

$mng = new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
$myfilter = ["verify" => "1"];
$command = new MongoDB\Driver\Command(["count" => "qa_self_t8", "query" => $myfilter]);
$result = $mng->executeCommand("q_alert_db", $command);
$res = current($result->toArray());
$count = $res->n;
echo $count;