windows本地MySQL同一局域网共享

时间:2024-03-13 09:27:15

本地数据库共享给同一局域网其他人

1.连接本地数据库

  1. windows+R打开运行,输入cmd进入命令提示符窗口;
  2. 若未将mysql加入环境变量,则切换目录到mysql安装的目录下的bin目录/若已加入环境变量,则不必切换目录;(我没有加入,所以切换到bin下)
  3. 输入 mysql -uroot -p 按回车,输入密码回车,显示如下图所示,即成功进入mysql面板;
    windows本地MySQL同一局域网共享
  4. 输入 use mysql; 切换到本地数据库;输入show databases;查询数据库详情;
    windows本地MySQL同一局域网共享

2.建立访问账户

在账号管理表user里面新建用户,输入:
insert into mysql.user(Host,User,Password)values(“localhost”,“test”,password(“1234”));
这就创建了一个名为test,密码为1234的账户,这里使用了password()对存进user表的密码进行了加密。

注意Host我存了"localhost",是指该用户只能在本地登录,不能在另外一台机器远程登录,如果想远程登录,需要把"localhost"改为"%",表示这个用户在任何一台电脑通过我的ip地址用test和密码都可以登录我的数据库,也可以指定某台机器可以远程登录。

因为我要把我的数据库分享给我的同事,所以我这里我建立了可以远程访问的账户;如图
windows本地MySQL同一局域网共享

3.设定访问权限

假设我同事的ip为123.456.789,例如我只想让他访问我的local_au数据库,需要授权test用户拥有的权限,输入
grant all privileges on local_au.* to [email protected] 123.456.789 identified by ‘1234’;
然后刷新系统权限表,输入:
flush privileges;
windows本地MySQL同一局域网共享打开数据库的系统用户表可以看到在%下面多了一条Host为123.456.789的用户,账号为test,密码是加密串。

此时,那位电脑ip为123.456.789的同事,可以打开数据库远程连接,数据库地址输入我的ip号,用账号test,密码为1234连接我的数据库,并且只能看到和操作我的local_au数据库。

注意,grant all 可以改为 grant select,update on local_au.* to [email protected] 123.456.789 identified by ‘1234’;
即设定他只有select和update的权限。

4.删除用户及权限

1.删除用户
delete from user where User=“test” and Host=“123.456.789”;
2.删除账户及权限
drop user [email protected]’%’;

补充:查看自己的ip地址操作
windows+R,cmd进入命令提示符窗口
输入 ipconfig /all 回车即可看到