มีวิธีเช็คดู UserName และ Password ของ MySql ไหม คับ
ผมลองรันอีกที มันขึ้น Error ว่า
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\appserv\www\myweb\web\test.php on line 18
ติดต่อฐานข้อมูลไม่ได้: Client does not support authentication protocol requested by server; consider upgrading MySQL client
โดย Code ผมเป็น
Code (PHP)
$con = mysql_connect("localhost","root","1234");
if (!$con)
{
die('ติดต่อฐานข้อมูลไม่ได้: ' . mysql_error());
}
mysql_select_db("my_data", $con);
$result = mysql_query("SELECT * FROM clothes");
while($row = mysql_fetch_array($result))
{
echo $row['name'];
echo "<br />";
echo $row['id'];
echo "<br />";
}
<?php
?>
Date :
2009-09-08 17:38:05
By :
hero_big
ไม่ทราบว่าได้สร้าง ตาราง user ในฐานข้อมูลหรือยังอ่ะครับ
Date :
2009-09-08 17:50:11
By :
somparn
สร้าง แล้ว คับ
Date :
2009-09-08 18:08:55
By :
hero_big
คือ ลอง เปลี่ยน Code เป็นอีกแบบก็ไม่ได้ คับ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","1234");
if($objConnect)
{
echo "Database Connected.";
}
else
{
echo "Database Connect Failed.";
}
mysql_close($objConnect);
?>
โดย Error ว่า
Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in c:\appserv\www\myweb\web\test.php on line 41
Database Connect Failed.
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in c:\appserv\www\myweb\web\test.php on line 51
ช่วยดูให้ทีคับ ขอบคุณคับบบบบบ
Date :
2009-09-08 18:13:35
By :
hero_big
ตอนลง appserv หนิครับ ได้ใส่server ให้เป็น localhost หรือเปล่า ครับ
และก็ได้ตั้งค่า portเป็น 80 ละเปล่าครับ
Date :
2009-09-08 19:22:05
By :
popnakub
ได้แล้ว คับ
คือ ต้อง Set ที่ Dos ด้วยไม่รู้เพราะอะไร ลอง Set ดูก็ได้ คับ
1. เปิดโปรแกรม cmd.exe (วิธีลัดก็ให้ click ที่ Start แล้วกดปุ่ม Run... แล้วพิมพ์คำว่า cmd ในช่องว่าง แล้วกด enter เลยครับ)
2. ให้เข้าไปที่ MySQL Consols (ถ้าใครใช้ MySQL เป็น ก็ทำเลยนะครับ แต่ถ้าใครยังไม่เชี่ยวนัก ก็ทำตามช้าๆ ละกันนะครับ)
2.1 ที่ C:\ พิมพ์ cd\ เพื่อกลับไปสู่directory ชั้นบนสุดครับ
2.2 ที่ C:\ พิมพ์ cd appserv\mysql\bin แล้วกด enter (พิมพ์ cd แล้วเว้นวรรค แล้วพิมพ์ appserv... นะครับ)
2.3 ที่ C:\ พิมพ์ mysqld กด enter
2.4 ที่ C:\ พิมพ์ mysql -u root -p แล้ว enter (พิมพ์ mysql วรรค -u วรรค root วรรค -p )
2.5 ที่ password ให้กด enterเลย
3. ตอนนี้ ถ้าไม่มีอะไรผิดพลาด เราก็จะเข้ามาใน mysql> แล้ว ให้เข้าไปในฐานข้อมูล mysql เพื่อแก้ไขในตาราง user
3.1 ที่ mysql> use mysql; แล้ว enter
มาถึงบรรทัดที่สำคัญที่สุด คือให้อ่านมาตั้งนาน ความจริงแก้แค่ตรงเนี้ยะ นิดเดียวจริงๆ ครับ
คือ ให้พิมพ์เพื่อกำหนด password สำหรับ user ที่เราตั้งขึ้นในนี้ครับ รูปแบบมันก็คือ
mysql> set password for 'someone'@'somehost' = old_password('newpassword');
เช่น user ชื่อ kai host ชื่อ localhost และ password ที่กำหนดคือ iloveuverymuch ก็ให้กำหนดดังนี้ครับ
mysql> set password for 'kai'@'localhost' = 'old_password('iloveuverymuch');
แค่นี้ก็สำเร็จเรียบร้อยครับ
เสร็จแล้วก็พิมพ์ mysql> exit
มันก็จะออกมาที่ C:/ เหมือนเดิม
ไม่รู้ทำไมต้องทำแบบ นี้ ใครรู้บอกที คับ ถ้าไม่ทำก็ Error คับ ช่วยแนะนำที คับ ขอบคุณคับบบบบบบ
Date :
2009-09-08 19:32:30
By :
hero_big
Date :
2009-09-08 19:36:53
By :
somparn
ก็เซตให้ผู้ใช้ได้ login เข้าไปไงครับ เหมือนกับเว็บ
mysql server ใช้ได้หลายคน ฐานข้อมูลก็มีสิทธิของแต่ละคน ปรกติ root มีสิทธิ ทั้งหมดครับ
บรรทัดนี้พิม ' เกินมาตัวนึงนะครับ
mysql> set password for 'kai'@'localhost' = 'old_password('iloveuverymuch');
ก็เพิ่งเคยเห็น OLD_PASSWORD() นี่อ่ะ เมื่อก่อนใช้ PASSWORD(); สังสัยทำใหม่มั้ง
Date :
2009-09-08 19:41:20
By :
pjgunner
Load balance : Server 02