Python MySQL 操作
1. 背景介绍
常见的Mysql驱动介绍:
- MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
- mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
- pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如- - - – MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
- MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。
2. python 库安装(树莓派)
SSH/命令行:
sudo pip3 install mysqlclient
3. 端口的开通
开启3306端口远程访问
为了方便,本文使用 ufw软件来开启3306端口
4.1安装ufw
apt-get installufw
4.2启用ufw
ufw enable
ufw default deny
4.3开启3306、22(ssh端口)端口
ufw allow 3306
ufw allow 22
ufw allow 5900
注意:如果不开启22端口,下次启动树莓派时,系统的22端口会禁用,不能使用ssh登录树莓派
如果不开启5900端口,下次启动树莓派后,系统的5900端口会禁用,不能使用VNC的远程桌面来访问树莓派
4. 远程访问开启
- 1、登陆自己机器的MySQL数据库:mysql -uroot -p密码
设置root用户可以任意IP访问,代码如下(可选,这里%代表任意,也可以指定IP):
MySQL>update user set host = ‘%’ where user = ‘root’;
MySQL>select host, user from user;
- 2、MySQL>GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
予任何主机访问数据的权限
- 3、MySQL>FLUSH PRIVILEGES;
修改生效
- 4、MySQL>EXIT
退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!