最简Python使用MySQL操作入门

在 Ubuntu 16.04 上安装使用MySQL 5.7

安装mysql 5.7

sudo apt install mysql-server

提示输入root密码,一定要记住,以后管理要用到。

数据库支持utf-8

缺省不支持 utf-8, 要修改以下两个文件:

sudo vi /etc/mysql/conf.d/mysql.cnf
增加一行:
default-character-set=utf8

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]节增加一行:
character-set-server=utf8

重新启动数据库:

sudo /etc/init.d/mysql restart

重新建立的数据库可以支持utf-8

允许使用3306端口访问:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

将 bind-address = 127.0.0.1 注释掉
重启数据库,可以通过以下命令查看3306已经打开。

netstat -ano|grep 3306

还要授权连接(*****为mysql root用户密码):

mysql -u root -p *****
grant all privileges on *.* to 'root'@'%' identified by '*****';
flush privileges;

远程连接方法:(-h IP地址或域名)

mysql -h 127.0.0.1 -u -p

安装python接口

pip install pymysql

使用python接口

# -*- coding: utf-8 -*-
# 在python3中可以用PyMySQL代替mysqldb。
# 然后在需要的项目中,把 __init__.py中添加两行:
import pymysql
pymysql.install_as_MySQLdb()
# 就可以用 import MySQLdb了。其他的方法与MySQLdb一样。

注意:在连接时加上参数charset='utf8',否则中文会出现错误:"UnicodeEncodeError: 'latin-1' codec can't encode characters in position 29-30: ordinal not in range(256)"

将:db = MySQLdb.connect("localhost","testuser","test123","testdb")
改为:
db = MySQLdb.connect("localhost","testuser","test123","testdb", charset='utf8')

强制手工重装mysql-server

sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt autoremove mysql* --purge
sudo apt remove apparmor
sudo apt install mysql-server

人生苦短,我用Python。让我们自己动手创造美好生活吧。

徒步学天下( [email protected])
2017年6月26日于中国林都

你可能感兴趣的:(最简Python使用MySQL操作入门)