Thứ ba, 23 Tháng 4 2024

Hướng dẫn xử lý lỗi mysql và phpmyadmin

Chuyên mục: Làm web

Khi cài đặt phpmyadmin có thể bạn sẽ gặp phải lỗi thiếu extension và không kết nối được đến database mysql. Bài viết dưới đây sẽ giúp các bạn xử lý một số lỗi phổ biến liên quan đến mysql và phpmyadmin.

Lỗi missing mysqli khi chạy phpmyadmin


Khi chạy phpmyadmin lần đầu tiên, có thể bạn sẽ gặp lỗi sau "The mysqli extension is missing. Please check your PHP configuration......." Lỗi này có nghĩa là trong quá trình cài đặt php chúng ta chưa cài đặt module mysqli.so và mysql.so. Để kiểm tra xem những module nào đã được cài đặt các bạn dùng lệnh sau:

# rpm -qa | grep -i php

Khi chạy lệnh này tối thiểu các bạn phải thấy các module như sau:
- php
- php-mysql
- php-common
- php-cli

Nếu không có php-mysql và php-mysqli thì chắc chắn sẽ gặp lỗi như trên khi chạy phpmyadmin.

Để cài đặt các module này, hãy dùng lệnh

#yum install php-mysql

Lưu ý tùy theo database của yum mà nó sẽ install phiên bản php-mysql gần nhất. Tuy nhiên nếu module này không cùng phiên bản với php sẵn có thì bạn sẽ gặp lỗi php-common conflic. Vì vậy có thể phải dùng lệnh install với tên phiên bản đầy đủ như sau

#yum install php53-mysql

Sau đó nhớ khởi động lại apache bằng lệnh

#service httpd restart

Lỗi login phpmyadmin

Sau khi cài đủ các moduel nói trên bạn đã có thể chạy phpmyadmin được rồi. Tuy nhiên trong một số trường hợp bạn sẽ gặp lỗi là không thể login cho dù gõ bất cứ username, password nào. Vấn đề là ở chỗ mysql ngay sau khi được cài đặt đã có sẵn 2 user là root và anonymous và cả 2 user này đều không có password. Các bạn có thể login từ localhost bằng cách gõ lệnh sau # mysql -u root

Tuy nhiên lại không thể login từ phpmyadmin được vì trong file config.inc.php của phpmyadmin bạn sẽ tìm thấy dòng sau đây cấm login bằng các user không có password.

Hướng dẫn xử lý lỗi mysql và phpmyadmin


Bây giờ chúng ta sẽ dung lệnh trong centos để login vào mysql

# mysql -u root

sẽ thấy xuất hiện dấu nhắc của mysql > từ dấu nhắc này các bạn gõ lệnh sau sẽ nhìn thấy được toàn bộ các user hiện có trong mysql.

Hướng dẫn xử lý lỗi mysql và phpmyadmin  02



Tiếp theo dùng các lệnh sau để đặt mật khẩu cho user root. Lưu ý là có bao nhiêu dòng root ở hình vẽ trên thì phải gõ đủ bấy nhiêu lệnh

Hướng dẫn xử lý lỗi mysql và phpmyadmin  03


Ngoài ra nếu bạn nào thành thạo về lệnh mysql thì có thể dùng câu lệnh UPDATE mysql.user SET Password=PASSWORD("mat khau") WHERE User = "root" để thực hiện đổi password bằng một lệnh duy nhất.

Cuối dùng dùng lệnh mysql >FLUSH PRIVILEGES; để update các thay đổi nói trên.

Bây giờ thì đã có thể vào phpmyadmin bằng mật khẩu vừa tạo ở trên.

Lưu ý bảo mật:


Sau khi vào được phpmyadmin, nên drop ngay user anonymous đi và xóa database test để bịt các lỗ hổng mà hacker có thể xâm nhập vào database. Nếu phpmyadmin không hỗ trợ lệnh drop user và lệnh xóa database thì có thể dùng các lệnh trực tiếp ở dấu nhắc mysql > như sau:

DELETE FROM mysql.user WHERE Password="";

DELETE FROM mysql.db WHERE Db LIKE "test%";

mysql > DROP DATABASE test;

FLUSH PRIVILEGES;

 

 

Logo biểu tượng máy tính HTL Computer tỉnh Kon Tum Việt Nam

HTL Computer