Windows上远程访问MySQL数据库

       最近有个项目,多台机器需要共享条码信息,又不想额外写一个程序去进行调度,就想到用远程访问数据库的方式来实现多台机器之间的条码共享。

       数据库安装完成后,默认的localhost登录。远程电脑如果要访问肯定是需要添加IP地址的。(代码为Python3)      

Windows上远程访问MySQL数据库_第1张图片

     接下来讲重点,就是主机数据库设置(上面代码可以看出如果把host放到config里面,可以保证每台机的代码都一样)

    1.Win+R,打开输入cmd,打开命令行

    2.将工作目录切换到MySQL的bin下,输入cd加bin路径后回车:cd C:\Program Files\MySQL\MySQL Server 5.5\bin

    

    3.输入:mysql -u root -p

       回车后输入mysql的登录密码(如果提示mysql不是内部指令,就证明上面的路径不对,需要找到MySQL在你电脑上的安装位置)

     4.接下来就是数据库里面的指令操作

Windows上远程访问MySQL数据库_第2张图片

     use mysql; 切换数据库

     update user set host = '%' where user = 'root';

     root表示想要被连接的数据库的用户名
     其中“%”表示允许所有机器能访问root用户

     select host, user from user;

     flush privileges; 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。

     5.关闭防火墙,或者防火墙过滤3306的端口

     6.理论上,此时应该是可以了,网上其他教程,基本到这里也就停止了,假如依然不行,就得看下面的命令了,因为我的电脑此时却是不行,也没找到原因。下面就列下解决办法吧。

     7.依然不行的解决办法

Windows上远程访问MySQL数据库_第3张图片

      grant all privileges on *.* to 'root'@'10.0.0.13' identified by '123'

      这里要好好说下,网上很多教程,只有前面一截grant all privileges on *.* to 'root'@'10.0.0.13',对于需要输入密码的情况来说,都不好使,后面这个尾巴 identified by '123' 是密码的意思,就是另外的电脑远程登录进来需要输入的密码。我自己试的时候,N次没成功,就是因为这个密码不对,我主机设置的密码是123,我给从机按照网上的指令给’root‘,我以为从站也可以按照123的指令进来,不行,从站只能按照identified by后面跟的内容进来,后面改成’123‘,问题就解决了。

你可能感兴趣的:(Python,计算机,mysql)