MySQL数据库使用(二):配置、连接远端数据库

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配置完毕

 

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

 

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

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

添加3306端口

 

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

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

 

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

利用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语句

 

转载于:https://www.cnblogs.com/cooper-wang/p/10305154.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值