使用数据库 具体使用Python的DB-API (如何解决error2003,error1064,error1045)
1.安装MySQL服务器
建议安装MySQL服务器的社区版
链接:MySQL社区版
2.为Python安装一个MySQL数据库驱动程序
MySQL-Connector/Python无法用pip安装,手动安装MySQL-Connector/Python驱动程序:
(Windows下载ZIP文件,Linux和Mac OS可下载GZ)
下载解压为文件夹mysql-connector-python-8.0.12,作为管理员打开终端窗口,需要在mysql-connector-python-8.0.12中执行以下命令:
py -3 setup.py install
Linux或Mac OS,则使用以下命令:
sudo -H python3 setup.py install
建议环境PATH配置修改!建议环境PATH配置修改!建议环境PATH配置修改!
(我懒得打过程上去了,就是打开电脑的高级系统设置,点环境变量,在底下框框点PATH,添加路径,就是你下载的MySQL的bin所在的路径,然后再确定,确定,确定。)
3.创建Web应用的数据库和表
启动MySQL控制台,
要作为MySQL数据库管理员登录(使用根目录ID
注意:
在安装mysql5.7版本时,经常会遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容:
016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for [email protected]: >mso<k70mrWe
红色字母即为第一次的登陆密码,记得加双引号。)
下面是启动控制台的命令:
mysql -u root -p
却出现错误error2003:
解决方法:
安装好MySQL后,打开cmd命令窗口,并且进入到MySQL安装目录中的bin目录,然后输入如下命令回车即可:mysqld --initialize-insecure --user=mysql
执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空,之后就可以通过命令net start mysql启动mysql服务了。
创建一个数据库,名为vsearchlogDB
以下为创建数据库的命令:
参考head first python创建新的用户和口令失败,如下
mysql> grant all on vsearchlogDB.* to 'vsearch' identified by 'vsearchpasswd';
于是出现错误error1064:
解决方法:create user语句创建一个用户,然后再grant权限,成功。(参考他人)
而后用新创建的vsearch用户登录:
mysql -u vsearch -p vsearchlogDB
却又出现错误error1045:
解决方案:mysql -u root -p 直接回车两次
use +数据库名,即可
然后就可以存放数据: