问题:无法远程虚拟机的数据库(或者设计数据库)
“”“
如果还存在问题,请留言讨论
”“”
第一种方法
第一步:切换虚拟机用户---sudo -s 切换root用户权限
第二部:查看数据库配置文件--bind:XXX.xxx.xxx.xxx 注销掉并退出
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 查看屏蔽本地ip
第三部:进入数据库(过程省略)
---show databases 查看数据库
---USE MYSQL 进入数据库
第四部:查看user表(%设置该用户的所有访问权)
update user set host = '%' where user = 'Tom'; 添加权限%
第五步:刷新数据库
flush privileges;
重启MYAQL
service mysql restart
第二种方法:
select user, host from user; 查看user表
select*from mysql.db/G 查看用户有哪里权限(这样可能看不清可以在后面加/G)
根据mysql 语句修改mysql.db
update mysql.db set db='%' where User="Tom" and Db="systest"
刷新(省略)
重启(省略)
第三种方法:(完美)
1、创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:用户名;
host:指定在哪个主机上可以登录,本机可用localhost,%通配所有远程主机;
password:用户登录密码;
2、授权:GRANT ALL PRIVILEGES ON *.* TO ‘username’@‘%’ IDENTIFIED BY 'password’;
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
*.* 代表所有权;
@ 后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。