mysql安装完毕后,远程连接等权限没开放,只能本机连接
一.开放远程连接权限
一般情况下,不建议给root用户远程连接权限,容易遭受攻击,不安全
创建新用户,并给予远程连接权限
启动mysql服务,登录mysql -u root -p
方式一:
创建用户并给予权限(没使用,用的第二种),
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
方式二:
步骤拆分,建议第一种,简单
#使用myql数据库
use mysql
#创建用户jiangxin,密码JxAiqwVwjJ8
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
#给与权限(all privileges所有权限)
grant all privileges on *.* to '用户名'@'localhost';
flush privileges;
use mysql;
update user set host="%" where user="用户名";
#刷新
flush privileges;
#查询用户
select host ,user from user;
重启服务
service mysql restart
用连接工具Navicat测试,连接成功
如果服务重启也连不上,检查配置文件bind-address是否是127.0.0.1
127.0.0.1代表本机,注释或者改为0.0.0.0
0.0.0.0代表开放所有ip
重启服务,连接成功
二:回收删除数据库权限
查看用户权限
show grants for 用户名
#省略用户名,查看当前用户权限
show grants
回收删除权限
REVOKE DROP ON 数据库名称.表名称 FROM 用户名@用户地址
#localhost代表开放的ip,如果只允许本机连接用localhost,如果是所有ip开放为%
REVOKE DROP on *.* FROM 'xsh'@'localhost';
REVOKE DROP on *.* FROM 'xsh'@'%';
#刷新
flush privileges;
#如果不知道开放ip,用此命令
select host ,user from user;
三:用户权限介绍
之前参照的找不到了,可以看这篇
参考: