mysql 数据库链路_MySQL数据库使用(二):配置、连接远端数据库

本文介绍了如何配置MySQL 8.0.13数据库以允许远程连接,包括修改root用户的主机权限为%,开放3306端口,设置Windows防火墙规则,以及调整阿里云服务器的安全组规则。同时,通过Navicat展示了本地连接远程数据库的方法,并提供了Python使用PyMySQL连接数据库的示例代码。
摘要由CSDN通过智能技术生成

Python3.7

pycharm

MySQL 8.0.13

阿里云服务器 windows server 2016

Navicat

一、远程数据库的配置

1、在云服务器系统上配置MySQL数据库

安装方法与本地数据库配置方法相同

配置完毕后登入MySQL数据库,并且修改初始密码

2、修改访问权限

登入数据库后首先输入

use mysql

选择musql数据库

select host,user,authentication_string,plugin from user;

输入上述代码,可看到root用户的访问权限

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| host | user | authentication_string | plugin |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| localhost | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | mysql_native_password |

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | root | | mysql_native_password |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

现在的root访问权限是仅限本地登录

下面我们输入

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

将root的访问权限从‘localhost’改写为‘%’,即所有人都接访问

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| host | user | authentication_string | plugin |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| % | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | mysql_native_password |

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | root | | mysql_native_password |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

此时,我们看到的root权限由‘localhost’改变为‘%’

至此,root用户可以在任何ip访问这台数据库了

3、开放3306端口访问权限

将root的访问权限设置为‘%’后,cmd输入

netstat -ano

查看3306端口状态

协议 本地地址 外部地址 状态 PID

TCP0.0.0.0:135 0.0.0.0:0 LISTENING 688TCP0.0.0.0:445 0.0.0.0:0 LISTENING 4TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 9372TCP0.0.0.0:5040 0.0.0.0:0 LISTENING 9032TCP0.0.0.0:7680 0.0.0.0:0 LISTENING 11348TCP0.0.0.0:8733 0.0.0.0:0 LISTENING 4

状态为:LISTENING

地址为:0.0.0.0:3306,其中0.0.0.0代表监听所有IP

说明3306端口正常

下面配置防火墙

开启win server的控制面板,打开防火墙,在‘高级设置’的‘入站规则’中,点击‘新建规则’

创建一个应用于TCP的特定端口-3306的端口规则

连接方式:允许连接

合适应用该规则:全选

至此,端口3306配置完毕

上述方案同时可通过关闭防火墙来实现

4、阿里云安全组规则设置

端口与访问权限设置完毕,下面配置阿里云服务器的安全组规则

bd83619f5bb945f83eb7f31c0ba3ab7e.png

添加3306端口

至此,远程MySQL数据库配置完毕

我们可以在cmd下通过登录指令来访问远程数据库

326e70aea7c1a45fa76fe995a29397c2.png

三、本地可视化界面连接远端数据库

利用Navicat

e1a6c21e93f160e247684df8cf40fb42.png

464bf6aee4f1d0fbe9e43b0c5d975ee1.png

连接成功

四、python连接远端数据库

1、安装PyMySQL

2、代码实现操作数据库

importpymysql

db= pymysql.connect('localhost','root','','zhilian_job') #创建连接对象,连接数据库

cursor=db.cursor() #创建游标对象

#编写SQL语句

sql_create_table = """CREATE TABLE job_datas (

jobName VARCHAR(1000) ,

positionURL VARCHAR(1000),

emplType VARCHAR(1000),

updateDate VARCHAR(1000),

endDate VARCHAR(100),

createDate VARCHAR(1000),

salary VARCHAR(1000),

welfare VARCHAR(1000),

edu_level VARCHAR(1000),

company_size VARCHAR(1000),

company_name VARCHAR(1000),

company_type VARCHAR(1000),

company_URL VARCHAR(1000),

apply_count VARCHAR(1000),

exposure_count VARCHAR(1000),

click_count VARCHAR(1000)

);"""cursor.execute(sql_create_table)#执行SQL语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值