我已经在我的本地机器上安装了MySQL Community Edition 5.5,我想允许远程连接,这样我就可以从外部源连接。
我该怎么做呢?
我已经在我的本地机器上安装了MySQL Community Edition 5.5,我想允许远程连接,这样我就可以从外部源连接。
我该怎么做呢?
当前回答
关闭链接/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf的注释:
bind-address = 127.0.0.1 =>> #bind-address = 127.0.0.1
修改主机名以便所有机器都可以访问它,在本地运行这个SQL命令:
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;
重新启动服务:
sudo service mysql restart
打开mysql端口:
sudo ufw allow 3306
其他回答
有时需要在Windows上使用PC名
第一步)把mysql的配置文件:
mysqld.cnf SET bind-address= 0.0.0.0
(让recbe连接tcp/ip)
第二步)让用户在mysql,表用户,与pc在windows属性的名称,而不是ip
对于OS X用户,请注意bind-address参数通常是在launchd plist中设置的,而不是在my.ini文件中。所以在我的情况下,我删除了<string>——bind-address=127.0.0.1</string>从/Library/LaunchDaemons/homebrew.mx .mariadb.plist。
如果你从brew安装MySQL,默认情况下它只监听本地接口。要解决这个问题,您需要编辑/usr/local/etc/my.cnf并将绑定地址从127.0.0.1更改为*。
然后运行brew services重启mysql。
如果mysqld有一个绑定地址设置为环回/本地地址(例如127.0.0.1),服务器将无法从远程主机到达,因为环回接口无法从任何远程主机到达。
将此选项设置为0.0.0.0(::对于IPv4+6)以接受来自任何主机的连接,如果您希望只允许在一个接口上连接,则将该选项设置为另一个外部可达地址。
源
远程登录的所有流程。默认关闭远程登录。你需要手动打开所有ip..来访问所有ip
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
特定的Ip
GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_desire_ip' IDENTIFIED BY 'password';
然后
flush privileges;
您可以检查您的用户主机和密码
SELECT host,user,authentication_string FROM mysql.user;
现在你的责任就是改变这一切
bind-address = 127.0.0.1
你可以找到这个
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
如果你在那里找不到这个,那就试试这个
sudo nano /etc/mysql/my.cnf
在此评论
#bind-address = 127.0.0.1
然后重新启动Mysql
sudo service mysql restart
现在享受远程登录