【项目实训】远程连接他人本地的mysql数据库

被连接方(mysql所在方)的工作

  • 打开cmd,终端输入mysql -u root -p,回车,输入mysql的密码,回车,

  • 对本地的某个用户授权,以使所有机器都可访问该用户下的数据库
    use mysql;
    grant all privileges on * . * to 'user'@'%' identified by '1234' with grant option; 
    flush privileges;

其中,use mysql是指针对某个数据库,这里要换成自己的要被别人访问的数据库

grant是授权命令,@符号之前的'user'是用户名,如果对root用户授权,即为'root',@后边是对哪个电脑授权,%是通配符,表示对所有授权,如果要指定,则输入希望连接到本地Mysql的另一台机器的IP地址

查询自己电脑的IP地址

如果希望其他电脑远程连接自己本地的mysql,则需要将自己的IP地址告知对方,并且要确保两人在同一局域网下。

  • 第一种方法

在设置-网络和Internet-状态-属性中查看

  • 第二种

在终端输入ipconfig查看

设置防火墙

 这一步很重要,不设置的话,别人是无法访问的

  • 通过控制面板进入系统安全

  •  进入后选择:

  •  选择高级设置:

  •  选择入站规则

  • 选择新建规则,选择端口:
  •  然后设置端口号为mysql的端口号,如果没改过就是3306

 

  • 一直下一步到最后

连接方如何连接

Navicat连接--推荐

 

选择mysql:

连接名任意取,主机名就是要连接电脑的IP地址,用户名和密码就是刚才设置的授权了所有用户的用户。

Python连接

class Database:
    # 设置数据库连接
    host=' '    #要连接mysql的IP地址
    port=306
    user='root'
    password = "123456"
    def __init__(self,db):
        connect=pymysql.connect(host=self.host,port=self.port,user=self.user,password=self.password,db=db)
        self.cursor = connect.cursor()
    # 执行sql语句
    def execute(self,command):
        try:
            # 执行command中的sql语句
            self.cursor.execute(command)
        except Exception as e:
            return e
        else:
            return self.cursor.fetchall()

host中填写被连接方的ip地址,port如果被连接的是root则一般为3306

可以测试是否连接成功:

sql = Database("xmsx")    # 数据库名
result = sql.execute(f"SELECT company FROM companyandjob WHERE job_name='阿里' ")
print(result)

参考文章:

如何访问局域网下另一台电脑的mysql_两台电脑公用一个mysql数据库csdn-CSDN博客

一台电脑连接另一台电脑的数据库【MySQL、通用版】_mysql连接其他电脑的数据库-CSDN博客

其他电脑连接本地mysql数据库_在局域网内,如何让其他电脑连接我们自己的本地mysql数据库...-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值