我已经注释掉了bind-address
我的/etc/mysql/my.cnf
当我这样做时nmap localhost
,我看到 mysql 正在正确监听3306
,但是当我尝试连接时,出现错误1045
。
我是否必须以某种方式指定允许的 IP 白名单(我在某些共享主机上看到过这种情况),或者是否可以允许从任何 IP 进行访问?
我正在使用 Ubuntu 9.04 x64。
答案1
在 MySQL 中使用通配符授予从已知范围进行连接。
Darth,我假设您与数据库位于同一 LAN 上,并尝试从远程主机进行连接,并且!!!IPTables 已关闭或配置为允许 3306。您可以授予该特定 IP 权限,也可以授予子网权限。
授予您的服务器 LAN 特定 IP (10.1.1.0/24):
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON mydatabase.*
TO 'myappuser'@'10.1.1.%'
IDENTIFIED BY 'mypassword';
需要明确的是,使用通配符并不是最佳做法,但根据您的情况,这可能是安全的。只要成为一名勤奋的 DBA 并监控流量,就可以确保此配置不会对您的数据构成威胁。
答案2
旧的 MySQL 查询浏览器和 MySQL 管理员已经被 MySQL Workbench 取代。
MySQL Workbench 包括: - 模型(替代 DBDesigner) - 查询(替代 MySQL 查询浏览器) - 管理(替代 MySQL 管理员) - SSH-Tunnel(远程管理)
MySQL Workbench 讨论:
-http://forums.mysql.com/index.php?151