安装好mysql后,想使用另一个电脑进行远程登录,在登录时 提示拒绝连接
百度后,发现需要两个步骤解决该问题
- /etc/mysql/my.cnf 里修改bind_address = 0.0.0.0
- 进行授权
(1)直接授权
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES;
(2)改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改成”%”
mysql -u root -p passwd
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
但是在进行第一步的时候,my.cnf里的内容却是如下这样的:
# # The MySQL database server configuration file. # # You can copy this to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/
最后发现,需要修改 的是 /etc/mysql/mysql.conf.d/mysqld.cnf
使用sudovim /etc/mysql/mysql.conf.d/mysqld.cnf
修改bind_address = 0.0.0.0
然后重启mysql服务即可: sudo /etc/init.d/mysql restart