#最详细# #零基础# 小白也能通过Pycharm 调用远程服务器的mysql数据库


本文将介绍在python下调用阿里云服务器的MySQL数据库

1.服务器端配置

1.1 安装MySQL数据库

1.下载MySQL安装包

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2.安装MySQL

yum install -y mysql-server

3.设置MySQL开机启动

systemctl enable mysqld.service

4.检查是否已经安装了开机自动启动

systemctl list-unit-files | grep mysqld

如果显示以下内容说明已经完成自动启动安装

mysqld.service enabled

5.设置开启服务

systemctl start mysqld.service

6.查看MySql默认密码

grep 'temporary password' /var/log/mysqld.log  

其中,root@localhost: 后面的内容为MySQL的默认密码
在这里插入图片描述
7. 登陆MySql,输入用户名和密码

mysql -u root -p       //密码也就是第六步里面查看到的默认密码

8.修改当前用户密码 注意看下面的报错

mysql>SET PASSWORD = PASSWORD('新密码');  //但是这样会报错的,具体错误看下面
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  //报错

原因:mysql为了安全,有自己的策略要求,如果我们想将其设置为我们常用的root或者123456这样的密码,需要修改策略要求,具体命令如下:

mysql>set global validate_password_policy=LOW;

再次执行修改密码的代码,出现如下提示表示修改密码成功!

mysql>SET PASSWORD = PASSWORD('新密码');
Query OK,0 row addected, 1 warning(0.00 sec)

9.开启远程登录,授权MySQL的root用户远程登录(非Linux系统的root用户)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MySQL的root用户密码' WITH GRANT OPTION; 

10.使上述命令立即生效

mysql>flush privileges;

这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数, 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

1.2 打开阿里云MySQL端口权限

  1. 登录阿里云网站,依次进入:控制台->云服务器 ECS->网络与安全->安全组
  2. 安全组ID/名称下点击对应的安全组ID
  3. 在跳转的页面中点击添加安全组规则
  4. 在如下页面中,协议类型选择MySQL(3306)授权对象填写0.0.0.0/0,然后点击确定
    在这里插入图片描述

2.在Pycharm中访问远程服务器的MySQL数据库

在pycharm中新建.py文件并写入如下代码

import pymysql

# 打开数据库连接
db = pymysql.connect("服务器IP", "root", "root密码", "mysql", port=3306, charset='utf8')
# 端口号3306,utf-8编码,否则中文有可能会出现乱码。
sql = '''SELECT * from user'''
try:
    cursor = db.cursor()
    cursor.execute(sql)
    text=cursor.fetchall()
    print(text[0])
except Exception as e:
    db.rollback()  # 如果出错就回滚并且抛出错误收集错误信息。
    print("Error!:{0}".format(e))
finally:
    db.close()
# 关闭数据库连接

如果出现如下代码表示访问远程服务器的MySQL数据库成功!

('%', 'root', 'Y', 'Y', 'Y'.......(省略)
发布了59 篇原创文章 · 获赞 2 · 访问量 4633

猜你喜欢

转载自blog.csdn.net/lch551218/article/details/103996193