暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

局域网内Windows允许其他电脑指定IP访问本地mysql-8.0.23数据库

捷创源科技 2022-02-19
3114

点击上方蓝字 ● 关注捷创源科技



第一步:用ping命令测试两台电脑是否连通

如果两台电脑是连通的请转到第二步,如果是非连通的请进行如下操作:

1、进入控制面板,打开Windows Defender 防火墙,点击高级设置(本人用的是Windows10,其他Windows版本操作类似)

 

2、在新弹出的页面中点击入站规则,在入站规则中找到 文件与打印机共享(回显请求–ICMPv4-In)有两个,然后启用规则

    


正常情况下Windows防火墙会阻挡对本机的ping请求,这是因为计算机禁用了ICMP回显功能,我们只需要把它启用就好了。


第二步:添加入站规则允许其他电脑访问mysql的3306端口

1、在第一步的入站规则页面-新建规则

2、选择端口,点击下一步


3、填写3306端口号,点击下一步

4、一路下一步,直到填写规则名字,填写完点击完成即可


因为数据库的安全的问题,不建议使用root用户用来连接数据库进行操作,所以需要创建一个新用户,并且需要指定IP,这样就会更安全,因为不是指定的IP,那么就连接不到mysql

Mysql版本基于mysql-8.0.23,其他版本基本一致,有可能就是语法不一致

第一步:python遇上mysql时,mysql下载与安装

0.mysql官网下载:

https://dev.mysql.com/downloads/mysql/

一定要下载mysql8.0.zip解压版


1.zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压。

把该同目录mysql文件夹放到系统盘C盘根目录。


2.我的电脑->属性->高级->环境变量,系统变量下选择Path,在其后面添加: 你的mysql bin文件夹的路径 :

我的是C:\mysql\bin


3.配置完环境变量之后,在C:\mysql目录下新增加一个配置文件mysql.ini ,同时在bin的同级目录下创建一个data文件夹(用于存放数据库数据)


4.mysql.ini文件的内容如下:

    [mysql]


    # 设置mysql客户端默认字符集
    default-character-set=utf8


    [mysqld]


    #设置3306端口
    port = 3306


    # 设置mysql的安装目录
    basedir=C:\mysql


    # 设置mysql数据库的数据的存放目录
    datadir=C:\mysql\data


    # 允许最大连接数
    max_connections=200


    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8


    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB


    复制

    5.通过“运行”,打开cmd,不需要进入安装目录(∵之前配置过环境变量),输入下面命令,回车,没有反应

    mysqld --initialize-insecure --user=mysql


    6.输入下面命令,回车,会提示安装成功

    mysqld install


    7.启动服务,输入如下命令,回车,启动成功后如下图

    net start mysql


    8.服务启动成功之后,需要登录的时候输入命令(第一次登录没有密码,直接按回车过)

    mysql -u root -p


    9.修改密码(必须先启动mysql),执行如下命令回车,enter password也回车,密码一般设置为root,方便记忆

    mysqladmin -u root -p password


    10.退出exit 就行了,记住直接关闭cmd窗口是没有退出的,要输入exit才会退出啊


    默认mysql安装后开机自启动,可以关闭mysql开机自启动


    1.在运行中输入Services.msc

    2.mysql右键属性,自动改成手动


    第二步:修改mysql数据库允许指定IP访问
    1、登录mysql,查看一下用户表

      net start mysql
      mysql -u root -p


      use mysql
      select host,user from user;


      复制

      2、修改host字段

      2.1)所有局域网内所有IP都可以用创建的admin用户名和admin@123密码访问:

        CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'admin@123';


        GRANT ALL ON *.* TO 'admin'@'%';


        复制

        2.2)局域网内’192.168.2.%'IP段都可以用创建的admin用户名和admin@123密码访问:

          CREATE USER 'admin'@'192.168.2.%' IDENTIFIED WITH mysql_native_password BY 'admin@123';


          GRANT ALL ON *.* TO 'admin'@'192.168.2.%';


          复制

          2.3)局域网内指定多个IP地址(‘192.168.2.100’和’192.168.2.108’)可以用创建的admin用户名和admin@123密码访问:


          因为在mysql中一个用户名对应一个IP 才算是一条记录,就相当于创建了多个记录,但是账号、密码都相同,可访问的IP不同。

            CREATE USER 'admin'@'192.168.2.100' IDENTIFIED WITH mysql_native_password BY 'admin@123';
            GRANT ALL ON *.* TO 'admin'@'192.168.2.100';


            CREATE USER 'admin'@'192.168.2.108' IDENTIFIED WITH mysql_native_password BY 'admin@123';
            GRANT ALL ON *.* TO 'admin'@'192.168.2.108';


            复制

            说明:


            ‘admin’@‘192.168.2.100’ 指定账号和可访问的IP

            mysql_native_password BY ‘admin@123’; 指定加密规则为mysql_native_password 并且密码为admin@123

            如果需要指定权限,就将ALL改为SELECT DELETE UPDATE INSERT等四种权限任选即可

            3、刷新MySQL的系统权限相关表,使其设置生效

              flush privileges


              复制


              搞定,经过这三个步骤之后基本就已经没什么问题了,用其他电脑连接本机数据库也成功了。

              备注:
              如果想删除其他用户:
              删除mysql中admin这个用户名,电脑:IP192.168.100.6

                drop user 'admin'@'192.168.100.6';


                复制

                删除所有电脑都不可访问mysql中lisi这个用户名,

                  drop user 'admin'@'%';


                  复制


                  关注上面微信公众号“捷创源科技”,每天获取技术干货,让我们一起成长!

                  文章转载自捷创源科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论