MySQL基础(一)
MySQL远程连接
需求是以电脑A作为服务器,电脑B远程连接电脑A的MySQL数据库。
默认情况下,mysql只允许本地登录,即只能在安装MySQL环境所在的主机下访问。
遇到CMD中mysql不是内部命令
将mysql的安装目录的下的bin目录添加至环境变量(用户和系统都添加)。
1 | C:\Program Files\MySQL\MySQL Server 8.0\bin |
进入mysql
1 | mysql -uroot -p |
查看MySQL当前远程访问权限配置
1 | use mysql |
1 | select User,authentication_string,Host from user; |
默认情况下Host目录下只有localhost
开启远程访问权限
开启远程访问权限的方式,主要包括两种:改表法和授权法。
出于安全性考虑,尤其是正式环境下不推荐直接给root开启远程访问权限。建议做权限细分和限制。
正式环境中,推荐通过创建Mysq用户并给对应的用户赋权的形式来开放远程服务权限,并指定P地址,赋权时根据用户需求,在GRANTi命令中只开放slect、update等权限,做到权限粒度最小化。
一、改表法
顾名思义,该方法就是直接修改更改”mysq”数据库里的”user”表里的”host”项,从”localhost’”改为”%”。
1 | update user set host='%' where user='root'; |
二、授权法
通过GRANT命令可以授予主机远程访问权限。
赋予任何主机访问权限:
1 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; |
允许指定主机(IP地址)访问权限:
1 | GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION; |
通过GRANTI命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:
1 | FLUSH PRIVILEGES; |
再次查看MySQL:远程访问权限配置
1 | select User,authentication_string,Host from user; |
查看root是否多了一条记录,且Host记录值为%,或者其他IP,代表已经开启了root的远程访问权限,后续就可以通过root用户远程访问该MySQL了。
MySQL管理工具:
Navicat,收费,很贵,个人使用不考虑;
Navicat替代品
dbeaver,中文支持友好,java编写,支持众多数据库,实际使用中很卡;
DataGrip,Jetbrains的产品,yyds,对学生无比友好,直接校园邮箱加学信网认证,畅享Jetbrains全系列产品,真的良心!同样支持主流数据库,自己用的为该数据库;
beekeeper studio;
PyCharm也可以。
引用B站某评论:
- 呃先用盗版的吧···

- 不行啊!被发律师函了

- 改用免费的吧

- 免费的不好用手撸一个吧

- 手撸的做的太极致了开源吧

- 开源后出名了成立基金会了

- 成立基金会后不用在做这些工作提桶跑路(✘)功成名就会见大佬探讨学术出任CEO登上人生巅峰(✔)

参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Just remember!
评论
ValineDisqus






