文章目录
- 1.服务器端配置
- 1.1 安装MySQL数据库
- 1.2 打开阿里云MySQL端口权限
- 2.在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端口权限
- 登录阿里云网站,依次进入:控制台->云服务器 ECS->网络与安全->安全组
- 在安全组ID/名称下点击对应的安全组ID
- 在跳转的页面中点击添加安全组规则
- 在如下页面中,协议类型选择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'.......(省略)