python连接mysql

python操作MySQL数据库

时光毁灭记忆、已成空白 提交于 2019-12-16 16:00:58
MySQLdb呢,其实和Python内置的sqlite3的使用方法基本相同。 警告: 不要使用字符串拼接生成SQL语句,否则可能产生SQL注入的问题。应当使用 execute() 的第二个参数检查输入的合法性。 #do NOT do this! cmd = "update people set name='%s' where id='%s'" % (name, id) cur.execute(cmd) # instead, do this: cmd = "update people set name=%s where id=%s" cur.execute(cmd, (name, id)) 采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧: import MySQLdb try: conn=MySQLdb.connect(host='localhost',user='root',passwd='mysql',db='test',port=3306) cur=conn.cursor() cur.execute('select * from user') cur.close() conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])

基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构

你离开我真会死。 提交于 2019-12-16 11:33:19
导读 本内容摘自知数堂第35期公开课《MySQL 5.7 高可用新玩法》 本次公开课视频请访问 http://pan.baidu.com/s/1mia6MZu 知数堂公开课相关视频请访问 https://ke.qq.com/course/172600 基本环境准备 使用Centos 6.X 64位系统 MySQL 使用 MySQL-5.7.17-x86_64 版本,去官方下载mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 版本 机器名 操作系统 Ip node1 centos-6.8 192.168.11.100 node2 centos-6.8 192.168.11.101 node3 centos-6.8 192.168.11.102 三节点集群设置VIP为 192.168.11.110 一般我们建议关闭iptables [wubx@zhishuedu.com ~]# chkconfig —del iptables [wubx@zhishuedu.com ~]# /etc/init.d/iptables stop 并且关闭 selinux [wubx@zhishuedu.com ~]# setenforce 0 并且将配置文件 /etc/sysconfig/selinux 中的下面这行 SELINUX=permissive 更改为

python连接MySQL

丶灬走出姿态 提交于 2019-12-16 10:53:14
python连接MySQL # 下载第三方模块: pip3 install pymysql # 面条版 import pymysql # 连接mysql数据库的模块 # 1.连接数据库 client = pymysql.connect( host='127.0.0.1', port=3306, user='root', password='123456', database='db4', charset='utf8', # 此处不能写utf-8 autocommit=True ) # print(client) # 2.获取游标对象 ----> 游标 可以用来提交sql命令 # 将取回值以字典形式显示:pymysql.cursors.DictCursor cursor_obj = client.cursor(pymysql.cursors.DictCursor) # cursor_obj = client.cursor() # 以元组形式显示(1, 'tank') # 3.通过execute 可以提交sql语句 # 1)查数据 # sql = 'select * from emp' # # 提交sql语句 # cursor_obj.execute(sql) # # # 4.提交后,通过cursor_obj对象.fetchall() 获取所以查询到的结果 # res = cursor

MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded

岁酱吖の 提交于 2019-12-14 18:35:30
很多用户在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 这里用第二种方式 ,解决方法如下 1. 管理员权限运行命令提示符,登陆MySQL(记得添加环境变量) mysql -u root -p password: #登入mysql 2. 修改账户密码加密规则并更新用户密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 3. 刷新权限并重置密码 FLUSH PRIVILEGES; #刷新权限 上面两步对应的截图

3-MySQL DBA笔记-开发基础

五迷三道 提交于 2019-12-13 18:13:04
第二部分 开发篇 本篇首先讲述数据库开发的一些基础知识,如关系数据模型、常用的SQL语法、范式、索引、事务等, 然后介绍编程开发将会涉及的数据库的一些技巧,最后结合生产实际,提供一份开发规范供大家参考。 第3章 开发基础 本章将为读者介绍MySQL数据库相关的开发基础,首先,介绍一些基础概念,然后讲解关系数据模型和SQL基础。 由于在互联网开发者中,PHP开发者占据了相当大的比重,因此这里也将简要介绍下PHP开发者应该掌握的一些基础知识和开发注意事项。 最后,要接触的是MySQL数据库更深层次的内容——索引、主键、字符集等。 3.1 相关基础概念 (1)框架 在软件开发过程中,研发人员经常借助框架(framework)来辅助自己进行软件开发。 成熟的框架可以帮助处理很多细节性的问题,并完成一些基础性的工作,如生成访问数据库的代码、简化网络编程,这样开发者就会有更多的时间和精力专注于业务逻辑的设计。 但目前仍存在的一个问题是,一些框架对于数据库的使用不符合我们的预期,或者说不友好,故而有必要先了解一下开发框架是如何存取数据的。 大家有兴趣的话,可深入学习和使用如下这些业内使用比较广泛的一些框架,如 Django(Python)、Ruby onRails(Ruby)、Zend Framework(PHP)、Spring(JAVA)等。 (2)数据模型 数据模型(data model

4. 与python交互

放肆的年华 提交于 2019-12-12 07:28:05
简介 4. 与python交互 4.1. 交互类型 4.2. 增改删 4.3. 查询 4.4. 封装 4.5. 用户登录 与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装mysql模块 sudo apt-get install python-mysql 在文件中引入模块 import Mysqldb Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=connect(参数列表) 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主机的端口,默认是3306 参数db:数据库的名称 参数user:连接的用户名 参数password:连接的密码 参数charset:通信采用的编码方式,默认是'gb2312',要求与数据库创建时指定的编码一致,否则中文会乱码 对象的方法 close()关闭连接 commit()事务,所以需要提交才会生效 rollback()事务,放弃之前的操作 cursor()返回Cursor对象,用于执行sql语句并获得结果 Cursor对象 执行sql语句 创建对象:调用Connection对象的cursor()方法

windows下mysql安装和配置

a 夏天 提交于 2019-12-11 20:15:20
历史版本下载地址 安装,解压 添加环境变量 使用 cmd中操作mysql进程 修改mysql的配置 附录:设置mysql随开机自启 TOC 历史版本下载地址 windows的mysql历史版本,推荐使用5.6版本,稳定(5.6.40) https://downloads.mysql.com/archives/community/ 安装,解压 将安装包解压到安装目录下,进入bin,复制目录路径 添加环境变量 右键我的电脑,选择属性,选择高级系统设置 选择高级中的环境变量 选择Path,选择编辑 选择新建,然后粘贴进去,点击确定保存即可! 使用 打开cmd,输入 mysqld ,启动mysql 后面就可以在cmd中输入mysql连接使用了。 cmd中操作mysql进程 # 查看操作系统中是否已经启动mysqld 服务端 tasklist | findstr "mysqld" # 杀死mysqld进程 taskkill /F /PID pid号 修改mysql的配置 1、创建一个名为 “my.ini” 的文件,这个是mysql的配置文件 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci # 这个是用python软件连接的客户端 [client] default-character-set=utf8 #

mysql 基础操作

孤街醉人 提交于 2019-12-10 23:12:15
1.数据库介绍 - 数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 - Project: - conf - bin - core - db: 存放一个个的文件 1、2都是从本地读取的数据。 3.将所有数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作。 - 第三方的公共位置(数据库) - 数据库集群: 将同一个数据库中的数据,复制到不同的服务器中。 4. MySQL数据: C ---> S架构软件 1) mysql数据库本质上就是一个基于网络通信的软件。 2) 所有基于网络通信的软件,底层都是socket。 - 服务端: - 基于网络通信 - 收发消息 - 客户端: - 基于网络通信 - 收发消息 - 所有语言若想操作数据库,拿到服务端ip和port,都必须遵循一套标准的解析指令 ---》 SQL语句 ***** 学习SQL语句 - DBMS: 数据库管理系统 - 关系型数据库: MySQL、Oracle、DB2、sql server、.... - 1) 表结构 - 需要哪些字段 - 字段是什么类型 - 2) 字段与字段类型 - name ---> 'tank' ----> 字符串 - age ---> 17 ---> 整型 - 非关系型数据库:

数据库01

霸气de小男生 提交于 2019-12-10 20:07:05
数据库01 将所有的数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作 第三方共享位置:数据库 数据库集群:将同一个数据库中的数据,复制到不同的服务器中。 MySQL数据:C -----> S架构软件 ①:mysql数据库本质上就是一个基于网络通信的软件 ②:所有基于网络通信的软件,底层都是socket ​ 服务端: ​ 基于网络通信 ​ 收发消息 ​ 客户端: ​ 基于网络通信 ​ 收发消息 所有语言若想要操作数据库,拿到服务端IP和port,都必须遵循一套标准的解析指令 --->SQL语句 DBMS:数据库管理系统 ​ 关系型数据库:MySQL、Oracle、DB2、sql server…… ​ ①:报表结构 ​ 需要哪些字段 ​ 字段是什么类型 ​ ②:字段与字段类型 ​ name ---> 'tank' ---> 字符串 ​ age---> 17 ---> 整型 ​ 非关系型数据库:Redis、MongoDB…… ​ 非关系型数据库一般以key:value的形式存储 ​ {'name':'tank'} 安装数据库 - 安装数据库 - 1.下载mysql安装包 - 2.解压安装包放在D:中 - 3.添加系统环境变量 - 4.以管理员身份打开CMD,输入mysqld启动服务端,此时会卡主 - bin目录下的: mysqld.exe - 5

数据库的基本操作

孤者浪人 提交于 2019-12-10 18:25:52
使用数据库 新建一个cmd,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 3306 -p密码 mysql初始化无密码,可以进入游客模式,功能会很少 无密码直接进入 --->不需要"-p密码" bin目录下的:mysql.exe 全写:mysql -h 127.0.0.2 -P 3306 -p 密码 简写:mysql -uroot -p 密码 退出数据库的客户端 exit; quit; 注意:SQL语句末尾必须加";"号。 查看操作系统中是否已经启动mysqld服务端 tasklist | findstr "mysqld" 杀死mysqld进程 taskkill /F /PID pid号 ***做服务端操作时,必须先从管理员身份打开 数据库的命令 查看所有数据库: show databases; mysql -u 登录mysql用户名(root) -p 密码 默认自带 root 超级用户,没有密码 管理员登录 mysql -uroot 回车进入 游客登录 mysql 回车 修改密码 - 默认没有密码的情况下,设置密码 - cmd>>>: mysqladmin -uroot password 123 - 有密码的情况下,修改密码 - cmd>>>: mysqladmin -uroot -p原密码 password修改的密码 - cmd>>>: