默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要做一些修改和配置。
一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
(这个好像不用处理,一般用以下两个方法任一个即可)
二,改表法
登入mysql后,更改 mysql 库里的 user 表里的 host项,将localhost改称% 。
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>FLUSH PRIVILEGES
此方法是将当前所有用户都设置任何地方均可以访问。
三、授权法
为需要远程登录的用户赋予权限
1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在,不存在时会自动创建。
2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
查看用户访问设置:
select host, user from user;
(注意,远程登录必须打开端口号,见:端口号和防火墙操作方法 )
附:mysql本地登录和远程登录方式
1.本地登录MySQL
mysql -u root -p
root是用户名,输入这条命令按回车键后系统会提示你输入密码
2.指定端口号登录MySQL数据库
mysql -u root -p-P 3306
指定端口的参数字母P必须为大写,而标识密码的p为小写。MySQL默认端口号为3306
3.指定IP地址和端口号登录MySQL数据库
命令格式为:mysql -h ip -u user -p -P 3306
例如: 远程登录端口为3308,用户名user1,ip为112.117.12.32 的mysql服务器
mysql -h112.117.12.32 -u user1 -p -P 3308
[tudouku-cn ~]$ mysql -h112.117.12.32 -u user1 -p -P 3308
Enter password:
Tag: Mysql