MySQL允许root远程登录
新安装的数据库只能localhost访问??是不是很苦逼
下面介绍如何允许远程访问root
1.“试一下”能否远程登录
> mysql -u root -p -h 10.0.42.180
答案是否定的。那就开始进行设置吧
2.登录数据库,默认本地访问
> mysql -u root -p
3.切换mysql数据库
mysql> use mysql
4.执行查询,查看数据库当前有访问权限的信息
只有localhost才能访问
5.设置访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
其中"."代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。
6.刷新访问权限表
mysql> FLUSH PRIVILEGES;
7.重新查看用户表
mysql> SELECT User, Password, Host FROM user;
8.验证远程访问
> mysql -u root -p -h 10.0.42.180
OK,登录成功
9.我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题
首先我们通过
netstat -an|grep 3306
来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用
所以,我们需要打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf
,将bind-address = 127.0.0.1
注销
进入mysql
,对远程用户进行授权,
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
这里的root
是你远程登录的用户,xxxxxx
是你登录使用的密码,然后可以在mysql
数据 表中查看到你这个用户已经被添加到user表中
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。