- Thay đổi cấu hình MySQL
- Phân quyền remote access MySQL
- Mở port MySQL (3306) trên firewall
- Kiểm tra kết nối từ xa
Nếu bạn muốn kích hoạt Remote access MySQL từ xa, thì có thể áp dụng theo các bước sau đây:
Thay đổi cấu hình MySQL
Mặc định MySQL sẽ disable tính năng remote từ xa, bạn cần enable lên bằng cách mở file cấu hình MySQL và điều chỉnh như sau:
vi /etc/my.cnfComment những dòng sau:
bind-address = 127.0.0.1 skip-networkingThành
# bind-address = 127.0.0.1 # skip-networkingKhởi động lại MySQL
service mysql restartPhân quyền remote access MySQL
Về mặc định thì MySQL chỉ được phân quyền access từ local mà thôi, bạn cần update thêm một vài bước để có thể kết nối từ bên ngoài:
Chạy lệnh bên dưới để cho phép truy cập từ tất cả các máy
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;Hoặc chạy lệnh như bên dưới để cấp quyền truy cập từ IP cụ thể:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;Thay
thế 1.2.3.4 bằng IP của mình. Có thể chạy lệnh trên nhiều lần để CẤP quyền truy cập từ nhiều IP.
Bạn có thể chỉ định USERNAME & PASSWORD riêng để truy cập từ xa.
Cuối cùng, bạn cần chạy lệnh sau:
mysql> FLUSH PRIVILEGES; mysql> exitMở port MySQL (3306) trên firewall
Đôi khi bạn cần mở thủ công port MySQL để thiết lập kết nối, nếu bước 2 phía trên không thành công thì bạn có thể chạy lệnh sau:
iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPTKiểm tra kết nối từ xa
Dùng Navicat (Windows) hoặc bạn có thể kiểm tra bằng lệnh sau trên Linux:
mysql -h HOST -u USERNAME -pPASSWORDThay “HOST” bằng IP của máy chủ bạn muốn truy cập, thay username và password tương ứng.
Nếu bạn đã truy cập vào được MySQL, bạn nên chạy lệnh “show databases;” để kiểm tra xem bạn đã có quyền access từ máy bạn hay chưa nhé! Chúc các bạn thành công
- 31/01/2016
- Học VPS
- 33,974 Views
- 70 Comments
Nếu bạn đang sử dụng HocVPS Script và muốn kích hoạt Remote Access để kết nối với MySQL từ máy tính cá nhân hoặc từ server khác, hãy thực hiện theo các bước dưới đây.
Hướng dẫn kích hoạt Remote Access MySQL
1. Thay đổi cấu hình MySQL
***Lưu ý: bước này không cần làm nếu đang dùng HocVPS Script, mời bạn chuyển qua bước 2.
Mặc định MySQL sẽ disable remote access, bạn cần enable lên bằng cách mở file cấu hình MySQL, ví dụ với đường dẫn /etc/mysql/my.cnf
nano /etc/mysql/my.cnfComment những dòng sau:
#bind-address = 127.0.0.1 #skip-networkingKhởi động lại MySQL Server
service mysql restart2. Gán quyền remote
Mặc định các account MySQL chỉ được gán quyền access locally mà thôi, để kết nối được từ bên ngoài, bạn cần thêm một bước là cập nhật privilege.
Trong ví dụ này, mình sẽ cho phép tài khoản root được phép login remote.
– Login vào phpMyAdmin sử dụng tài khoản admin và password tự động generate khi bạn cài đặt HocVPS Script (hoặc tài khoản MySQL root).
– Nhấn tab Users, bạn sẽ thấy danh sách account MySQL hiện tại tương tự như sau
– Tiếp theo bạn nhấn tab SQL, nhập lệnh sau trong ô text rồi nhấn nút Go
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTIONLưu ý thay PASSWORD bằng mật khẩu tài khoản root, thay % bằng IP cụ thể nếu bạn chỉ cho phép login từ IP này. Ví dụ của mình sử dụng mật khẩu c0ef6f242253b0028
– Nếu không có vấn đề gì xảy ra thì bạn đã update quyền thành công. Tiếp theo quay trở lại tab Users bạn sẽ thấy thêm một hàng mới với Host là %
Bây giờ, bạn có thể kết nối trực tiếp đến MySQL Server từ máy tính cá nhân hoặc VPS khác rồi đấy.
– Nếu muốn tắt Remote Access, trong tab Users bạn chọn User name có Host là % rồi nhấn nút Remove selected users là xong.
3. Mở port 3306
Đôi khi, bạn cần mở port 3306 thủ công để MySQL có thể lắng nghe kết nối. Sau bước 2 mà vẫn không connect được, bạn hãy sử dụng lệnh sau:
# iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPTNếu muốn chỉ chấp nhận kết nối từ IP 10.5.1.3, hãy sử dụng lệnh sau:
# iptables -I INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPTHướng dẫn này cũng có thể áp dụng với server không dùng HocVPS Script. Chúc các bạn thành công!
Bài viết liên quan:
- Hướng dẫn tạo và kích hoạt Swap
- Hướng dẫn kích hoạt WordPress Multisite trên Server
- Kích hoạt thư viện hỗ trợ hình ảnh GD trên CentOS
- Hướng dẫn kích hoạt Apache mod_rewrite trên CentOS
- Kích hoạt Private Network ở Vultr
- Hướng dẫn cài đặt LAMP (Linux, Apache, MySQL, PHP) trên Ubuntu 12.04
Comment của bạn
70 Comments
Mạc Văn Năng 18 comment 20/04/2021 at 8:34 am Mừng rơi nước mắt làm thành công rồi ạ
Nhưng có vấn đề chưa hiểu là tại sao khi sử dụng hosting chung thì băng thông có 100G/ngày
Nhưng mua hosting SQL thì băng thông của SQL lại sử dụng tận 300G/ngày thế này thì tiền đâu mà mua để dùng ạ. hay phải cấu hình những gì
VPS SQL mới chỉ cài hocvps sau đó tạo database thôiMạc Văn Năng 18 comment 19/04/2021 at 11:34 am Làm theo hướng dẫn của bác xong cũng không thấy hiện tượng gì.
Trên Cenos7
Đã mở port 3306
Đã tạo thêm user SQL ( Cái này có phải là tạo thêm ở trên VPS chứa MYSQL? và pass= Pass VPS có trên Vultr không?)
Vào config sửa IP $config[‘db’][‘host’] = ‘45.32.251.191’; cùng không thấy chạy kết nối được ạThành 15 comment 21/01/2019 at 4:08 pm Mình Kết nối được mà chậm quá bạn ạ, có cách nào khắc phục không ạ
Việt Phương Moderator 21/01/2019 at 4:12 pm Nó phụ thuộc vào kết nối của 2 VPS rồi. Bạn nên dùng 2 VPS cùng location. Và nếu cùng 1 nhà cung cấp có hỗ trợ private network thì càng tốt
Thành 15 comment 21/01/2019 at 4:22 pm Mình dùng cùng nhà cung cấp vultr , nhưng trong Private Networks phải làm ntn ạ?
Việt Phương Moderator 21/01/2019 at 4:35 pm Đây bạn nhé //hocvps.com/kich-hoat-private-network-o-vultr/
Phong Thủy Đỗ Huệ 6 comment 20/01/2019 at 9:21 pm tks ad. bài viết rất hay & hưu ích. tks ad đã chia sẻ
Kien Nguyen 1 comment 29/05/2018 at 3:54 pm Mình làm đến bước mở cổng 3306 rồi nhưng ko chạy đc lệnh mở cổng 3306.
# iptables -I INPUT -m state –state NEW -m tcp -p tcp –3306 xxx -j ACCEPT
iptables v1.4.21: unknown option “–3306”
Try `iptables -h’ or ‘iptables –help’ for more information.Mình thuê server bên Vulrt, và cần connect đến data từ 01 Hosting khác đến database để trên VPS Vulrt.
Việt Phương Moderator 29/05/2018 at 3:56 pm iptables -I INPUT -m state --state NEW -m tcp -p tcp --3306 -j ACCEPT nhé bạn
Check cổng mở qua //ping.eu/port-chk/Kien Nguyen 3 comment 29/05/2018 at 7:45 pm Mình kiểm tra VPS vẫn ko đc bạn:
iptables -I INPUT -m state –state NEW -m tcp -p tcp –3306 -j ACCEPT
iptables v1.4.21: unknown option “–3306”
Try `iptables -h’ or ‘iptables –help’ for more information.
[root@vultr home]#Không hiểu lý do nào, mình check các port 25,3306, 465 đang cần đều bị đóng.
Kien Nguyen 3 comment 29/05/2018 at 9:56 pm Mình chạy thử vẫn ko đc
iptables v1.4.21: unknown option “–3306”
Try `iptables -h’ or ‘iptables –help’ for more information.
[root@vultr home]#
Có bạn nào xài vulrt khó chịu vì close hết port của mình không. Nếu muốn thay thì nên xài của bên nào. Tks !Việt Phương Moderator 29/05/2018 at 10:56 pm iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT nhé bạn
Và các port mail bạn phải yêu cầu mở thủ công qua ticket Vultr vì họ ngăn chặn việc lợi dụng server để spam mail
Quang 25 comment 23/05/2018 at 7:53 pm đối với mariadb thì ở bước 2 chỉnh chỗ nào vậy ad?
Việt Phương Moderator 23/05/2018 at 10:03 pm Bạn truy cập MySQL trên SSH Terminal rồi chạy lệnh đó là được nhé
Le Tuan Kiet 5 comment 17/04/2018 at 1:50 pm Mình có kết nối mysql từ xa hosting đến vps nếu thêm lệnh chỉ 1 IP Mới vào được port 3306 thì người khác sẽ ko vào được web hả bạn ?
Việt Phương Moderator 17/04/2018 at 1:55 pm Không. Chỉ cần cái hosting đó được phép truy cập vào MySQL của VPS là được rồi. Chứ người dùng không trực tiếp truy cập vào MySQL
Le Tuan Kiet 5 comment 16/04/2018 at 8:34 pm /sbin/iptables -I INPUT -i eth0 -s 10.5.1.3 -p tcp –destination-port 3306 -j ACCEPT
Cho minh hoi lenh nay neu minh muon port 3306 ket noi voi 3 4 cai IP vao dc thi xai lenh nao ? lenh nay chi dung dc 1 IP thoi a` ban ?Việt Phương Moderator 17/04/2018 at 9:13 am ip1,ip2 nhé bạn. Ví dụ 10.5.1.3,10.5.1.4
Nhưng thường bạn nên làm nhiều dòng lệnh, mỗi dòng 1 IP. Như vậy sẽ tiện quản lý hơn.
Quang 25 comment 15/04/2018 at 5:24 pm DB mình nằm trên (Hosting) StableHost, còn source web nằm trên VPS (đã cài hocvps).
Giờ mình muốn kết nối Source Web từ VPS đến DB nằm trên Hosting thì làm thế nào vậy ad?
Việt Phương Moderator 16/04/2018 at 9:09 am Bạn mở remote connect cho database trên StableHost nhé. Một số hosting mình thấy cho tool chỉnh chức năng này luôn, không cần chỉnh lằng nhằng như VPS
Ví dụ //prntscr.com/j5r6xh
Minh Clear 7 comment 08/03/2018 at 1:50 pm Nếu dùng VPSSIM thì làm như thế nào, mình đã làm trên cả 2 hocvps và vpssim đều ko remote được
Việt Phương Moderator 08/03/2018 at 2:22 pm . Cụ thể thì không có hướng dẫn, còn cách làm đều là mở truy cập ở MySQL và Database đồng thời mở port VPS
hùng 6 comment 12/06/2017 at 9:04 am sao cài sypex dumper với mysql dumper không dc nhỉ. Lúc trc cài vestacp thì cài bình thường chuyển qua hocvps 2 cái đều cài không dc. mysqldumper bấm connect to database thì im ru còn sypex nhập user pass vào cũng im ru. Giúp mình với .thank. database nặng quá không nhập bằng phpmyadmin dc
Việt Phương Moderator 12/06/2017 at 9:35 am Database nặng quá bạn import bằng câu lệnh MySQL thì ổn hơn đó. //hocvps.com/backup-va-restore-mysql-database-bang-lenh/
Còn mysql dump kia xem lỗi log như thế nào chứ mỗi im ru thì khó tư vấn rồi 😀hùng 6 comment 12/06/2017 at 9:58 am xem ở đâu vậy bạn. tìm nãy h mà không thấy cái log nào liên quan hết 🙁
Việt Phương Moderator 12/06/2017 at 10:00 am Bạn tải về từ đâu và chmod thư mục mysqldumper à? Đoạn điền user bạn nhập ntn.
Bạn chỉ cần đăng nhập tool rồi check thư mục log file nào đc ghi vào mới nhất là biết mà (trừ access log). Tool PHP nên mình đoán là bên php log, hoặc mysql loghùng 6 comment 12/06/2017 at 10:05 am tải tại trang chủ. chmod theo hướng dẫn. nhập user thì user admin cũng không dc mà user lúc tạo database cũng không dc lun. sypex cũng bị y chang. không báo lỗi j hết. 🙁
Việt Phương Moderator 12/06/2017 at 10:08 am Bạn gửi VPS qua mình xem cho chứ mô tả này không giúp đc rồi
hùng 6 comment 12/06/2017 at 10:11 am để restore bằng lệnh xem sao. có j không dc mình gửi thông tin qua. Cám ơn ad
Việt Phương Moderator 12/06/2017 at 10:13 am UHm. Restore bằng lệnh là an toàn nhất mà tránh timeout hay corrupt do dữ liệu lớn
Việt Phương Moderator 12/06/2017 at 11:47 am Bạn kiểm tra file log /home/domain_chính/logs/php-fpm-error.log. Xem log thời điểm gần nhất với lúc đăng nhập MySQLDumper.
Ngoài ra, bạn dùng PHP 7.1? Vì bản ở sourceforge.net từ lâu rồi và không hỗ trợ PHP 7. thì phải
Hà Sơn 1 comment 09/05/2017 at 11:43 pm Hiện tại e đang bị lỗi này ai khăc phục hộ e với ạ
Failed to create database connection to 127.0.0.1:3306 with user[root]!
FB://www.facebook.com/haanhson1324
Việt Phương Moderator 10/05/2017 at 10:41 am Hệ thống MySQL bạn cài đặt ntn?
Nguyễn 4 comment 23/03/2017 at 12:50 pm Failed to connect to MySQL: (2002) No route to host em làm và bị lỗi này a nơi
Việt Phương Moderator 23/03/2017 at 1:42 pm Bạn gửi cấu hình VPS qua mình xem cho. Cần restart lại mySQL
Nguyễn 4 comment 23/03/2017 at 2:22 pm Mình dùng centos 7 PHP Version 5.6.30 và cài script mới nhất của hocvps
mình đã restart mysql những vẩn chưa đượcViệt Phương Moderator 23/03/2017 at 2:46 pm service mysql start thông báo gì. Bạn đọc cả mysql log trong thư mục log của domain chính nữa để biết mysql không start được vì lỗi gì
Nguyễn 4 comment 24/03/2017 at 9:07 am service mysql start
thi báo lỗi
Redirecting to /bin/systemctl restart mysql.service
Failed to restart mysql.service: Unit not found.
nên mình dùng lệnh
systemctl restart mariadb.service => không thấy báo kết quả gì mình nghĩ là restart mysql thành công
Hiện tại file mysql.log k có log nào
chỉ có file mysql-slow.log là có 15mb log k biết có phải nó kViệt Phương Moderator 24/03/2017 at 9:22 am Bạn gõ lệnh như thông báo đó /bin/systemctl restart mysql.service (do đặc thù bên CentOS 7 khác CentOS 6). Cả service mysql status. No route for host của bạn liên quan đến vấn đề network. Bạn có đang connect remote MySQL không?
MySQL log luôn được tạo mặc định trong thư mục /home/domain_chính/logs, bạn xem cả MySQL của ngày ngay trước đó, ví dụ mysql.log-20170323Nguyễn 4 comment 26/03/2017 at 9:45 am systemctl status mariadb.service
â— mariadb.service – MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-03-23 14:17:49 ICT; 2 days ago
Process: 6278 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 6249 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 6277 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─6277 /bin/sh /usr/bin/mysqld_safe –basedir=/usr
└─6889 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql/ –plugin-dir=/usr/lib64/mysql/plugin –log-e…Mar 23 14:17:44 xxxxxxxxx.members.linode.com systemd[1]: Starting MariaDB database server…
Mar 23 14:17:45 xxxxxxxxx.members.linode.com mysqld_safe[6277]: 170323 14:17:45 mysqld_safe Logging to ‘/var/log/mariad…og’.
Mar 23 14:17:45 xxxxxxxxx.members.linode.com mysqld_safe[6277]: 170323 14:17:45 mysqld_safe Starting mysqld daemon with…sql/
Mar 23 14:17:49 xxxxxxxxx.members.linode.com systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.đây là status sau khi mình check nè bạn
Việt Phương Moderator 27/03/2017 at 9:13 am Có một số đoạn kí tự đặc biệt ├─? Ngoài ra, MySQL của bạn start được rồi mà? Started MariaDB database server
Thực 6 comment 06/02/2017 at 3:50 pm GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘3a6f0c3dc1623d3ed’ WITH GRANT OPTION
e dùng password mà hocvps tạo sẵn cho. e Mở port 3306 rồi nhưng tất cả đều ko kết nối đkViệt Phương Moderator 06/02/2017 at 6:03 pm User tạo ra khi cài đặt HocVPs là admin bạn à. Bạn thử connect PHPMyAdmin xem.
Thực 6 comment 06/02/2017 at 3:45 pm a ơi e làm theo hướng dẫn kích hoạt Remote Access MySQL theo đúng hướng dẫn. tất cả. nhưng e không kết nối đk mysql từ server này sang server khác. e cài hocvps
Ngô Văn Cương 142 comment 15/12/2016 at 2:23 pm Sửa như nào bạn ơi 🙁
Ngô Văn Cương 142 comment 14/12/2016 at 9:43 pm Mình dùng CentOS 6 x64 cài hocvps script mà không thấy đường dẫn etc/mysql/…
Việt Phương Moderator 15/12/2016 at 10:03 am ***Lưu ý: bước này không cần làm nếu đang dùng HocVPS Script, mời bạn chuyển qua bước 2.
Ngô Văn Cương 142 comment 15/12/2016 at 10:53 am Mình thay localhost bằng ip của vps và test thử dính ngay lỗi này. 🙁
SQLSTATE[HY000] [2002] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Config:
mysql:dbname=cuong;host=iphost’,’admin’,’pass’Việt Phương Moderator 15/12/2016 at 11:16 am Truy cập vps vẫn bình thường chứ bạn.
//www.wolfcms.org/forum/post7098.html#p7098
Lỗi bạn có thể giống như thế này, bạn thử xem được không.Ngô Văn Cương 142 comment 15/12/2016 at 12:15 pm Mình sửa thành mysql:dbname=cuong;port=3306;host=iphost’,’admin’,’pass’,
Nhưng vẫn không được bạnViệt Phương Moderator 15/12/2016 at 2:17 pm Ý mình bạn đã thử sửa /etc/my.cnf và /etc/hosts.allow chưa
Khoa Nguyen 1 comment 26/06/2017 at 12:01 pm Dung /ect/my.cnf nhe
Trung Huynh 4 comment 13/04/2016 at 3:19 am Mình làm theo các bước trong bài hướng dẫn, ở DO thì ok, còn ở Vultr thì stop iptable mới được, không biết còn phải làm gì nữa ko bác nhỉ?
Luân Trần Admin 13/04/2016 at 8:31 am Giờ connect được chưa bạn?
Trung Huynh 4 comment 13/04/2016 at 11:21 am Mình thêm “iptables -A INPUT -p tcp –dport 3306 -j ACCEPT” thì được rồi. 🙁
Jack Man 18 comment 09/03/2018 at 3:45 pm @Trung Huynh có thể chia sẻ thêm từng bước về cách kich-hoat-remote-access-mysql ở vultr được không ? Mình tìm kiếm lâu rồi nhưng không connect được ==!
Việt Phương Moderator 09/03/2018 at 4:12 pm Mình đang nghĩ bạn chưa mở thành công port 3306. Check port //ping.eu/port-chk/
Jack Man 18 comment 09/03/2018 at 5:08 pm mình mở thành công rồi @Việt Phương
user root mình đã đặt lại mk giống với tk admin
Check port //ping.eu/port-chk/ ==> 217.61.17.xxx:3306 port is open
Mình gửi qua thông tin VPS mail bạn xem giúp mình thử xem vì mình làm đủ cách trên mạng chỉ, port mở nhưng không hiểu sao lỗi 1045 hoài ==!Việt Phương Moderator 13/03/2018 at 2:21 pm Done. Note các bạn lưu ý
1. Thiết lập cho tài khoản nào đc quyền remote_access thì tài khoản đó phải có quyền với Database bạn muốn truy cập
2. Tài khoản mật khẩu đăng nhập đúng
3. Remote access là đăng nhập từ VPS B vào database ở VPS AJack Man 18 comment 20/03/2018 at 1:44 am Mình đã cài và connect ok, mình bổ sung thêm là có thể connect từ Xampp địa chỉ localhost:2313/site/checklmysql.php.
.
Nội dung file php các bạn cứ dùng hàm connect bình thường, nhớ server đang chạy mysqli và mysql nhé.
.
Cám ơn @Việt Phương đã hỗ trợ rất nhiệt tình.
Chúc các bạn thành công.
Vo Minh Man 2 comment 06/04/2016 at 9:25 pm Hi Luân Trần!
Hiện VPS của mình đang dùng script hocvps của bạn để quản lý vps.
Mình có xem hướng dẫn và thử remote db cho vps của mình nhưng không thành công.
Mình đã có xem qua một số hướng dẫn từ các website khác và áp dụng. Tất cả đều báo lỗi Connection Fail.
Mình không rõ nguyên nhân là gì?
1/ Mình đã thay dổi thông tin trong /etc/my.cnf (Localtion trong hướng dẫn không chính xác với centos 7) bằng cách comment bind-address và skip-networking. Nhưng ko thành công, mình xem thêm các hướng dẫn # là bind-address = ip-sever và comment skip-networking. Nhưng tất cả đều fail
2/ Mình đã thực hiện cấp quyền cho mysql user root với host là % và ip-vps
Hiện tại port phpmyadmin mình truy cập bằng domain:2020; không biết có ảnh hưởng gì không? Vì mình nghĩ port phpadmin và mysql sever là khác nhau. Mình thử mở port 3306 nhưng ko connect được.Luân Trần Admin 07/04/2016 at 9:38 am Đúng là bài này mình viết trên CentOS 6, chưa thử trên CentOS 7 tuy nhiên qui trình cũng hao hao như nhau cả thôi.
1/ Bắt buộc phải comment 2 dòng đó lại nhé
2/ Port phpMyAdmin (dùng cho webserver, mình dùng để tạo link quản lý VPS) khác với port MySQL (cố định 3306), tuyệt đối ko dùng lẫn lộn nhé.
Khoa 5 comment 25/03/2016 at 7:23 pm Khi chạy lệnh:
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘12345678” WITH GRANT OPTIONthì có lỗi:
MySQL said: Documentation
#1045 – Access denied for user ‘root’@’localhost’ (using password: YES)Mình có login qua ssh thì đúng pass của tk root rồi.
Luân Trần Admin 25/03/2016 at 7:49 pm Bạn kiểm tra lại, tài khoản root MySQL khác với tài khoản root login SSH.
Khoa 5 comment 25/03/2016 at 7:55 pm Tất nhiên là mình dùng mật khẩu của tk root mysql rồi.
Trong tab User mình có thử gắn quyền qua giao diện nhưng vẫn cũng 1 lỗi.Luân Trần Admin 25/03/2016 at 9:24 pm Vụ này khó rồi
Jack Man 18 comment 09/03/2018 at 4:12 am Vultr, php 5,6, mình cũng bị lỗi
_mysql_exceptions.OperationalError: (1045, “Access denied for user ‘admin’@’localhost’ (using password: YES)”)Tạo account mới host dùng % và localhost luôn, phân quyền all ,
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘12345678” WITH GRANT OPTION
.
đăng nhập /phpmyadmin với tk mk của tk mới, và cả admin đều ok, nhưng không thể remote-access-mysql, SSH vẫn connect bình thường,
Ai có kinh nghiệm có thể chỉ mình được không ???Việt Phương Moderator 09/03/2018 at 9:00 am 1. Bạn đã thay đổi cấu hình MySQL và mở port 3306 chưa
2. Bạn mở như thế kia tức tài khoản root có quyền remote access. Mà lỗi bạn post thì bạn đang remote access bằng tài khoản adminJack Man 18 comment 09/03/2018 at 3:16 pm Mình dùng centos 7 PHP Version 5.6.30 và cài script mới nhất của hocvps, mình đã làm hết bước 3 rồi
iptables -I INPUT 2 -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT => ok, không báo lỗi
mình kiểm tra một số lệnh sau
******************************
USER User name Host name Password Global privileges Grant
admin localhost Yes ALL PRIVILEGES Yes
mmm % Yes ALL PRIVILEGES Yes
mmm 127.0.0.1 Yes ALL PRIVILEGES Yes
mmm localhost Yes ALL PRIVILEGES Yes
root % Yes ALL PRIVILEGES Yes
root localhost Yes ALL PRIVILEGES Yesmình kiểm tra một số lệnh sau
******************************
nano /etc/my.cnf#bind-address=127.0.0.1
# optimized my.cnf for MariaDB 5.5.x
# by eva2000
# vbtechsupport.com
# skip-networking******************************
SHOW VARIABLES LIKE ‘skip_networking’Variable_name
Value
skip_networking
OFF
******************************
iptables -L INPUT –line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp — anywhere anywhere tcp dpt:mysql
2 ACCEPT tcp — anywhere anywhere state NEW tcp dpt:mysql
3 ACCEPT tcp — anywhere anywhere tcp dpt:3d-nfsd
4 f2b-SSH tcp — anywhere anywhere tcp dpt:EtherNet/IP-1
5 f2b-NoAuthFailures tcp — anywhere anywhere tcp dpt:iapp
6 ACCEPT tcp — anywhere anywhere tcp dpt:EtherNet/IP-1
7 ACCEPT tcp — anywhere anywhere tcp dpt:submission
8 ACCEPT tcp — anywhere anywhere tcp dpt:urd
9 ACCEPT tcp — anywhere anywhere tcp dpt:https
10 ACCEPT tcp — anywhere anywhere tcp dpt:smtp
11 ACCEPT tcp — anywhere anywhere tcp dpt:http
12 f2b-SSH tcp — anywhere anywhere tcp dpt:ssh
13 ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
14 ACCEPT icmp — anywhere anywhere
15 ACCEPT all — anywhere anywhere
16 ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
17 REJECT all — anywhere anywhere reject-with icmp-host-prohibited***************************
SELECT USER(), CURRENT_USER()USER()
CURRENT_USER()
root@localhost
root@localhost===================
Và vẫn không thể remote được
_mysql_exceptions.OperationalError: (1045, “Access denied for user ‘root’@’localhost’ (using password: YES)”)Việt Phương Moderator 09/03/2018 at 3:39 pm 1. IP VPS bạn là gì.
2. Chỉ lưu ý thôi nhưng root của MySQL không phải root của Linux nhé bạn.