使用Perl DBI操作MySQL的一些建议_Mysql

使用perl连接mysql,这个网上有很多案例了,一般大家都是DBI下的DBD::MySQL这个模块进行.这里做一个mask弄一个TIPS:
 Perl DBI MySQL的字符集为UTF8
 Perl DBI 特殊字符写入时报错
 Perl DBI 连接自动重连或是连接超时
 
1. 当MySQL的字符集是UTF8时需要引入:
 

use utf8;
binmode(STDOUT, ':encoding(utf8)');
binmode(STDIN, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

目的:
解决perl连接mysql到数据后读取显示结果为乱码的问题.
 
2.对于特殊字符的写入,最好使用:

 my $sth=$dbh->prepare("insert into wubx.WeekEvent values(?,?,?,?,?,?,?)");
 $sth->execute($OId,$CId,qq/$Time/,$EventType,qq/$CDesc/,$PId,$RFlag);

对于字符串有可能是用户提交的用qq//包裹,减少特殊字符造成SQL不能执行的情况.
3. 如果连接两个数据库有交换的操作或是迁数据,要考虑连连超时的情况.
 报错: MySQL server has gone away
  处理办法:
  在DBD::mysql 4.012以后支持DBI连接的自动重连.需要设置:

 $dbh->{mysql_auto_reconnect} = 1;

  在早期的模块中不支持,简单的方法:
  

 $dbh->do('set SESSION wait_timeout=72000');
 $dbh->do('set SESSION interactive_timeout=72000');

  此方法适用别的语言连MySQL连接短期丢失或是Server的timeout时间设置太短.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
perl dbi mysql、perl 操作mysql、perl dbi、perl dbi 安装、perl oracle dbi,以便于您获取更多的相关知识。

时间: 2024-09-16 05:20:18

使用Perl DBI操作MySQL的一些建议_Mysql的相关文章

linux下perl操作mysql数据库(需要安装DBI)_Mysql

DBI安装:DBI详细信息参考:http://dbi.perl.org/ 1.下载DBI包: wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz 2 解压 tar xzf DBI-1.620.tar.gz 3 进入解压包内, perl Makefile.PL 4 make test 5 make 6 make install (如果不是root用户,要sudo一下) DBD安装: 1.下载DBD wget

perl操作mysql数据库简单教程

  假定 以安装好perl语言和mysql数据库.   DBI安装:DBI详细信息参考:http://dbi.perl.org/ 1.下载DBI包:  wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.620.tar.gz 2 解压 tar xzf  DBI-1.620.tar.gz 3 进入解压包内,  perl Makefile.PL 4 make test 5 make 6 make install (如果不是root用

Perl DBI 基础

   本节提供DBI 的背景信息-在编写自己的脚本和支持其他人编写的脚本时,需要这些信息.如果已经熟悉DBI,则可以略过这节,直接跳到7 . 3节"运行DBI". DBI 数据类型     从某些方面来说,使用Perl DBI API 类似于使用第6章介绍的C 客户机库.在使用C 客户机库时,主要依靠指向结构或数组的指针来调用函数和访问与MySQL相关的数据.在使用DBI API 时,除了函数称为方法,指针称为引用外,也调用函数和使用指向结构的指针.指针变量称为句柄,句柄指向的峁钩莆

简介操作MySQL日志的一些方法

  这篇文章主要介绍了操作MySQL日志的一些方法,对日志的删除操作做了重点讲解,需要的朋友可以参考下 我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用的sql语句命令,即使这个sql语句没有被执行,也会被记录,它包括执行时间之类的都详细在案,其实 它的目的有两个:一是方便我们查错和恢复数据库;二是为了主从服务器之间同步数据用的,主从服务器上所有

Linux shell操作mysql数据库深入解析_unix linux

在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据.导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考. 方案1 复制代码 代码如下: mysql -uuser -ppasswd -e"insert LogTable values(...)"  优点:语句简单缺点:支持的sql相对简单 方案2准备一个sql脚本,名字为update.sq

.Net中操作MySql数据库的方法

mysql|数据|数据库 这是在VB.net中为连接MySQL中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A06

IIS服务器完全配置实现asp,cgi,perl和php+mysql

cgi|iis|mysql|perl|服务器 IIS服务器完全配置实现asp,cgi,perl和php+mysql IIS服务器完全配置 现在我们要使IIS实现ASP,CGI,PERL和PHP+MYSQL 所需软件(都要是For Windows的): ActivePerl.PHP.MYSQL 一.ASP支持: 不用说了吧,什么都不用做,本身就支持ASP运行. 二.CGI,PERL支持: 1.安装ActivePerl 运行下载的ActivePerl一步一步安装(注意:安装路径请选择到根目录的/us

.Net中操作MySql数据库

mysql|数据|数据库 这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A06

利用Perl 脚本实现 MySQL 异机导入导出

单位的开发同事需要将一个mysql 中的库导入到本地mysql中 所以为了减少手工操作,就写了下面的一个用perl 实现的 mysql 异机导入导出脚本:如下 #!/usr/bin/perl -w #Author:andylhz #Date:20120/08/29 #Purpose:Import database from other mysql db host to local. my $db_host_local="localhost"; my $db_username_local