2003 - Không thể kết nối với máy chủ MySQL trên 127.0 .0.1 61 Kết nối bị từ chối

2003 - Không thể kết nối với MySQL xxx (61 "Kết nối bị từ chối") 或者 telnet. Không thể kết nối với máy chủ từ xa. Kết nối bị từ chối

为解决该问题查询了很多资料,网上多数方法都无法从根本上解决问题,记录我总结该问题的方法。

直接上最终解决方案。

分析出现该问题的根本原因. mysql用户访问权限。检查mysql用户访问权限
root@zqm:~# mysql -u root -p
> use mysql;
> select host,user from user; // 查看用户
> update user set host='%' where user='root'; // 设置host为%,如果执行不成功, 再次查看一下用户权限
> select host,user from user; // 查看用户
> flush privileges; // 刷新权限
> exit; // 退出
复制代码
重新连接数据库, 测试成功,成功连接。

如果您的mysql用户访问权限正常,可以尝试从以下几方面调查。

1. 查看访火墙是否开启了3306端口

  • 查看防火墙状态
root@zqm:~# sudo ufw status
Status: active
复制代码

如果防火墙是关闭状态,直接忽略掉以下的配置检查。

  • 配置防火墙
root@zqm:~# sudo vi /etc/iptables.up.rules // 确保增加了3306端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
复制代码
  • 重载防火墙
root@zqm:~# sudo iptables-restore < /etc/iptables.up.rules
复制代码

2. 确认3306端口是否开放

root@zqm:~# netstat -an | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN  
复制代码

3. 检查数据库是否绑定0. 0. 0. 0

root@zqm:~# sudo vim /etc/mysql/my.cnf // 确定?bind-address = 0.0.0.0
复制代码

4. 端口检查

root@zqm:~# netstat -an | grep 3306
tcp      0     0 127.0.0.1:3306      0.0.0.0:*    LISTEN      32251/mysqld
复制代码

5. telnet测试3306端口是否连通

root@zqm:~# telnet xx.xxx.xxx.xxx 3306
telnet: Unable to connect to remote host: Connection refused
复制代码

6. 检查mysql用户访问权限【以上都只是试错,最关键的这步,这步才是解决问题的一步。】

________số 8_______

7. 以上确认配置都正常,重新连接数据库,成功!

Tôi đã tải xuống máy chủ MySQL và cài đặt nó trên máy Mac của mình, nhưng mỗi lần tôi cố gắng kết nối với nó, tôi lại gặp phải lỗi sau

Không thể kết nối với máy chủ MySQL trên '127. 0. 0. 1’ (61)

Có thể có nhiều lý do cho lỗi này, hầu hết trong số đó được đề cập rộng rãi trên mạng, nhưng trong trường hợp của tôi, đó là do MySQL đang chạy trên cổng 3307

Tôi nghĩ rằng cổng đã được cập nhật trong bản cập nhật máy chủ MySQL gần đây, vì tôi chưa bao giờ gặp sự cố này với phiên bản máy chủ MySQL trước đó

Dưới đây là cách kiểm tra xem bạn có gặp vấn đề tương tự hay không và cách thay đổi nó thành cổng 3306 (trừ khi bạn muốn tiếp tục chạy trên cổng 3307)

Đảm bảo máy chủ MySQL đang chạy

2003 - Không thể kết nối với máy chủ MySQL trên 127.0 .0.1 61 Kết nối bị từ chối
Ngăn tùy chọn MySQL

Xác nhận máy chủ MySQL đang lắng nghe trên cổng 3307

Chạy lệnh này trong Terminal

$ sudo lsof -i -P | grep -i mysqld
mysqld  51211  _mysql  ..  0t0  TCP *:3307 (LISTEN)
mysqld  51211  _mysql  ..  0t0  TCP localhost:3307->localhost:54348 (ESTABLISHED)
mysqld  51211  _mysql  ..  0t0  TCP localhost:3307->localhost:54350 (ESTABLISHED)

Đây là những gì nó có nghĩa là

  • sudo — Chạy với quyền root, vì vậy chúng tôi có thể thấy mọi thứ đang chạy, không chỉ dưới tên người dùng hiện tại
  • lsof - Hiển thị thông tin về các tệp mở cho quy trình Unix
  • -i — Liệt kê tất cả internet và x. 25 tệp mạng (HP-UX)
  • -P — Cấm chuyển đổi số cổng thành tên cổng
  • grep mysqld — Chỉ hiển thị các dòng phù hợp với mysqld

Như bạn có thể thấy, máy chủ MySQL đang chạy trên cổng 3307. Nếu đó là vấn đề của bạn, hãy đọc tiếp, nhưng nếu không, tôi không nghĩ bài đăng này sẽ giải quyết được vấn đề của bạn

Xác nhận cài đặt cổng trong danh sách thuộc tính (plist)

Hóa ra tập tin cấu hình này là thủ phạm

$ defaults read /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Bạn có thể xem cài đặt cổng trên dòng 18

{
  Disabled = 0;
  ExitTimeOut = 600;
  GroupName = "_mysql";
  KeepAlive = 0;
  Label = "com.oracle.oss.mysql.mysqld";
  LaunchOnlyOnce = 0;
  ProcessType = Interactive;
  Program = "/usr/local/mysql/bin/mysqld";
  ProgramArguments =     (
    "/usr/local/mysql/bin/mysqld",
    "--user=_mysql",
    "--basedir=/usr/local/mysql",
    "--datadir=/usr/local/mysql/data",
    "--plugin-dir=/usr/local/mysql/lib/plugin",
    "--log-error=/usr/local/mysql/data/mysqld.local.err",
    "--pid-file=/usr/local/mysql/data/mysqld.local.pid",
    "--port=3307"
  );
  RunAtLoad = 0;
  SessionCreate = 1;
  UserName = "_mysql";
  WorkingDirectory = "/usr/local/mysql";
}

Cập nhật số cổng từ 3307 thành 3306

Dừng máy chủ MySQL và tạo bản sao lưu của plist hiện tại

$ sudo cp /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist.bak

Chuyển đổi plist thành XML để bạn có thể dễ dàng chỉnh sửa nó

$ sudo plutil -convert xml1 /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Chỉnh sửa tệp và thay thế cổng bằng 3306

$ sudo vi /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist




  Disabled
  
  ExitTimeOut
  600
  GroupName
  _mysql
  KeepAlive
  
  Label
  com.oracle.oss.mysql.mysqld
  LaunchOnlyOnce
  
  ProcessType
  Interactive
  Program
  /usr/local/mysql/bin/mysqld
  ProgramArguments
  
    /usr/local/mysql/bin/mysqld
    --user=_mysql
    --basedir=/usr/local/mysql
    --datadir=/usr/local/mysql/data
    --plugin-dir=/usr/local/mysql/lib/plugin
    --log-error=/usr/local/mysql/data/mysqld.local.err
    --pid-file=/usr/local/mysql/data/mysqld.local.pid
    --port=3306
  
  RunAtLoad
  
  SessionCreate
  
  UserName
  _mysql
  WorkingDirectory
  /usr/local/mysql

Bạn có thể nhanh chóng chuyển đến cổng bằng cách gõ.

$ defaults read /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
0 và nhấn ENTER. Chuyển sang chế độ chỉnh sửa với.
$ defaults read /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
1. Lưu tệp với. ESC và
$ defaults read /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
2

Chuyển đổi plist trở lại nhị phân

$ sudo plutil -convert binary1 /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Khởi động máy chủ MySQL và xác nhận cổng 3306

Đây phải là tất cả những gì cần làm. Xác nhận rằng máy chủ MySQL đang chạy trên cổng 3306 bằng lệnh giống như chúng tôi đã sử dụng trước đó

$ sudo lsof -i -P | grep -i mysqld

Tôi đã mất một chút thời gian để tìm ra điều này, nhưng hy vọng bài đăng này sẽ giúp bạn tiết kiệm thời gian khắc phục sự cố

Không thể kết nối máy chủ có thể không chạy không thể kết nối với máy chủ MySQL trên 127. 0 0. 1 10061?

Bạn chỉ cần cài đặt Máy chủ MySQL . Để cài đặt máy chủ MySQL, bạn phải chạy "Trình cài đặt MySql" rồi nhấn nút "Thêm" rồi chọn "Máy chủ MySQL" trong cây. Sau khi làm điều đó, hãy chạy lại bàn làm việc của bạn và bạn sẽ nhận thấy rằng đã có một kết nối được định cấu hình.

Mã lỗi 61 trong MySQL là gì?

Tóm lại, lỗi MySQL Workbench 61 xảy ra khi có sự cố khi hoàn tất kết nối thành công . Hôm nay, chúng tôi đã xem các nguyên nhân như cài đặt máy chủ không chính xác, xung đột cổng, tường lửa xấu, v.v. và cách Kỹ sư hỗ trợ của chúng tôi khắc phục sự cố.

Không thể kết nối Máy chủ không được phép kết nối với máy chủ MySQL này?

Lỗi này xảy ra do cấu hình mặc định mà cơ sở dữ liệu MySQL hiện đang sử dụng . Cấu hình này chỉ cho phép kết nối từ người dùng 'root' khi đến từ 'localhost' chứ không phải các dải địa chỉ IP khác.

Làm cách nào để kiểm tra xem MySQL có thể truy cập được trên cổng 3306 không?

Cách đúng là sử dụng. sudo lsof -i. 3306 .