|
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
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 688
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 9372
TCP 0.0.0.0:5040 0.0.0.0:0 LISTENING 9032
TCP 0.0.0.0:7680 0.0.0.0:0 LISTENING 11348
TCP 0.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 配置完毕
上述方案同时可通过关闭防火墙来实现
三、本地可视化界面连接远端数据库
利用 Navicat


连接成功
四、python 连接远端数据库
1、安装 PyMySQL
2、代码实现操作数据库
import pymysql
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语句 |
|