Trang này sẽ hỗ trợ bạn khắc phục sự cố Thông báo lỗi MySQL - 1044 "Quyền truy cập bị từ chối". Lỗi từ chối MySQL đôi khi xảy ra khi cơ sở dữ liệu được nhập thông qua phpmyadmin
1044 Truy cập bị từ chối giải quyết lỗi
Khi bạn nhập cơ sở dữ liệu bằng phpMyAdmin, thông thường bạn làm như vậy bằng cách nhập tệp văn bản có phần mở rộng. phần mở rộng sql. Đây là một đoạn mã có thể nằm trong. sao lưu cơ sở dữ liệu sql. Trong ví dụ này, cơ sở dữ liệu chúng tôi đang cố nhập có tên là nhân viên
-- Kết xuất SQL phpMyAdmin
-- phiên bản 2. 11. 9. 5
-- http. //www. phpmyadmin. net
--
-- Chủ nhà. máy chủ cục bộ
-- Thời gian thế hệ. Tháng Tư 02, 2010 lúc 08. 01 giờ sáng
-- Phiên bản máy chủ. 5. 0. 81
-- Phiên bản PHP. 5. 2. 6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
TẠO CƠ SỞ DỮ LIỆU nhân viên;
--------------------------------------------------
--
-- Cấu trúc bảng cho bảng `employee_list`
--
TẠO BẢNG NẾU KHÔNG TỒN TẠI `employee_list` [
Văn bản `first_name` KHÔNG NULL,
Văn bản `last_name` NOT NULL
] ENGINE=MyISAM CHARSET MẶC ĐỊNH=latin1;
Khi sử dụng phpMyAdmin để nhập một tệp như vậy, bạn sẽ nhận được thông báo lỗi tương tự như
Lỗi
truy vấn SQL
TẠO CƠ SỞ DỮ LIỆU nhân viên;
mysql anh ấy nói. Tài liệu
#1044 - Quyền truy cập bị từ chối đối với người dùng 'đào tạo'@'localhost' vào cơ sở dữ liệu 'nhân viên'
Trong trường hợp này, tên người dùng cPanel là "đào tạo. " Do quy ước đặt tên cơ sở dữ liệu của cPanel, tất cả tên cơ sở dữ liệu phải bắt đầu bằng tên người dùng cPanel theo sau là dấu _. Sử dụng định dạng này, bạn chỉ có thể tạo cơ sở dữ liệu có tên đào tạo nhân viên
Lý do quá trình nhập này không thành công là do dòng sau trong. tập tin sql [hiển thị ở trên]
TẠO CƠ SỞ DỮ LIỆU nhân viên;
Một lần nữa, bạn không thể tạo cơ sở dữ liệu có tên nhân viên, tuy nhiên tôi có thể tạo cơ sở dữ liệu có tên training_employees
Nếu tôi thay đổi dòng nói rằng. CREATE DATABASE để nó tạo. training_employees thay vì nhân viên, nó sẽ lại thất bại với thông báo sau
Lỗi
truy vấn SQL
TẠO CƠ SỞ DỮ LIỆU training_employees;
mysql anh ấy nói. Tài liệu
#1044 - Quyền truy cập bị từ chối đối với người dùng 'đào tạo'@'máy chủ cục bộ' vào cơ sở dữ liệu 'đào tạo_nhân viên'
Khi sử dụng cPanel, cơ sở dữ liệu phải được tạo trong chính cPanel
Dưới đây là các bước để khắc phục vấn đề này
1. Tạo cơ sở dữ liệu training_employees trong cPanel
2. Nhận xét lệnh CREATE DATABASE trong của tôi. tập tin sql
Để làm điều này, chỉ cần thay đổi
TẠO CƠ SỞ DỮ LIỆU nhân viên;
đến
-- TẠO CƠ SỞ DỮ LIỆU nhân viên;
Bạn chỉ đơn giản là thêm dấu cách gạch ngang vào đầu dòng chú thích nó ra để nó không bị thực thi
Tôi đã cố gắng rất nhiều để nhập tập lệnh sql để tạo cơ sở dữ liệu và bảng thông qua phpmyadmin trong trang web mới mà tôi đã lưu trữ. Nhưng tôi đang nhận được lỗi,
1044 – Quyền truy cập bị từ chối đối với người dùng 'user'@'localhost' tới cơ sở dữ liệu 'db'
Tôi đã cố gắng tạo một db mẫu trực tiếp. tạo cơ sở dữ liệu lấy mẫu;
Tôi cũng không thể cấp đặc quyền cho người dùng, tôi cũng gặp lỗi truy cập bị từ chối
Sau đây là đầu ra của lệnh show Grants,
show grants;
GRANT USAGE ON . TO 'someuser'@'localhost' IDENTIFIED BY PASSWORD 'somepw'
GRANT ALL PRIVILEGES ON someuser\_%.* TO 'someuser'@'localhost'
Bất kỳ trợ giúp sẽ được đánh giá cao. cảm ơn
Giải pháp tốt nhất
Nếu bạn đang dùng Godaddy thì đừng trực tiếp vào phpMyAdmin mà chạy lệnh sql
Bạn phải vào phần Cơ sở dữ liệu MySQL® và tạo cơ sở dữ liệu ở đó. Sau đó tạo một người dùng và cấp cho nó quyền truy cập cơ sở dữ liệu bạn vừa tạo. Bây giờ bạn có thể truy cập phpMyAdmin và viết các lệnh SQL của mình
Hi vọng điêu nay co ich
Giải pháp liên quan
Mysql-Django. thesql. 1045, “Quyền truy cập bị từ chối đối với người dùng
Tôi làm như thế này cho cơ sở dữ liệu có tên foo_db
create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
Mysql – brew cài đặt thesql trên macOS
Tôi nghĩ rằng một người có thể kết thúc ở vị trí này với các phiên bản mysql cũ hơn đã được cài đặt. Tôi gặp vấn đề tương tự và không có giải pháp nào ở trên phù hợp với tôi. tôi đã sửa nó như vậy
Đã sử dụng các lệnh remove
& cleanup
của brew, gỡ bỏ tập lệnh launchctl
, sau đó xóa thư mục mysql trong /usr/local/var
, xóa
create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
0 hiện có của tôi [để tùy bạn quyết định, nếu áp dụng] và launchctl plistĐã cập nhật chuỗi cho plist. Cũng lưu ý rằng thư mục tập lệnh bảo mật thay thế của bạn sẽ dựa trên phiên bản MySQL mà bạn đang cài đặt
Từng bước một
brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql
sau đó tôi bắt đầu lại từ đầu
- đã cài đặt mysql với
1create database foo_db; create user foo_user identified by 'foo_password'; grant all on foo_db.* to 'foo_user'@'%'; flush privileges;
chạy các lệnh brew đề xuất. [xem chú thích. phía dưới]
unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$[brew --prefix mysql]" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Bắt đầu mysql với lệnh
2 để có thể đăng nhập vào nócreate database foo_db; create user foo_user identified by 'foo_password'; grant all on foo_db.* to 'foo_user'@'%'; flush privileges;
Đã sử dụng tập lệnh bảo mật thay thế
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
Theo dõi phần
________số 8_______launchctl
từ đầu ra tập lệnh gói brew, chẳng hạn như,
Ghi chú. bit
create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
4 trên create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
5 cũng sẽ dọn sạch các thùng đã lỗi thời, hãy nghĩ rằng đó là một tính năng homebrew mới