Archive for the ‘数据库’ Category

今天突然发现装在centos上的mysql登录不上了,仔细检查发现是mysqld服务没了,手动启动,报下面的错误,
Starting MySQL…Manager of pid-file quit without updating
到/data/mysql/下看了一下错误日志文件:localhost.localdomain.err, 有下面一段
100408  0:45:32 [Note] Event Scheduler: Purging the queue. 0 events
100408  0:45:32  InnoDB: Starting shutdown…
100408  0:45:32  InnoDB: Shutdown completed; log sequence number 0 383861955
100408  0:45:32 [Warning] Forcing shutdown of 1 plugins
100408  0:45:32 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
100408 00:45:32 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended
100408 00:45:33 mysqld_safe Starting mysqld daemon [...]

文件的大小函数为:filesize()
文件是否存在的函数为:file_exits();
但是这两个函数只针对本地
那么:远程文件是否存在,远程文件大小 如何得知呢?
搜索了一下,有人居然说,把远程文件下载过来再判断这个远程文件的大小,这是什么歪理。
庆幸大部分人还是清醒的,一般应该使用判断header反馈的信息进行判断。
php中如何获得header信息呢? php的函数真多,这个也不例外
1.最简单的获取远程文件大小办法
$a_array = get_headers(url,true);
url就是网址了,至于第二个参数
就可以得到类似下面的这个数组
Array
(
[0] => HTTP/1.1 200 OK
[Date] => Sat, 29 May 2004 12:28:14 GMT
[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
[ETag] => “3f80f-1b6-3e1cb03b”
[Accept-Ranges] => bytes
[Content-Length] => 438
[Connection] => close
[Content-Type] => text/html
)
所以,你可以很舒服的拿到远程文件的大小
$file_sizeofurl = a_array['Content-Length'];
2.用curl获取远程文件大小
如果服务器禁止get_headers 怎么办?
换一种办法,用curl
我总觉得curl就像一个虚拟的用户,什么都能模仿
下面直接给出一个老外的函数
请注意
echo ‘
head–>’.$head.’<—-end
‘;
这句是我加的,为了知道header里面到底包含了什么东西
function remote_filesize($uri,$user=”,$pw=”)
{
// start output buffering
ob_start();
// initialize curl with given uri
$ch = curl_init($uri);
// make sure [...]

oracle改字段名

alter table tbname rename column internaltype to intervaltype;

oracle锁表

如果一个用户正在更新某张表但没有提交,另一个用户就不能对同一张表使用update命令操作

alter database test_db character set utf8;
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
ie: ALTER TABLE article CONVERT TO CHARACTER SET utf8;

修改mysql字符编码成为UTF8

在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql Server Instance Config Wizard 进行设置.
安装后
/etc/init.d/mysql start (stop) 为启动和停止服务器
/etc/mysql/ 主要配置文件所在位置 my.cnf
/var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
启动mysql后,以root登录mysql
isher@isher-ubuntu:~$ mysql -u root
>show variables like ‘character%’; #执行编码显示
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
在某些时候,我们需要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql [...]

JDBC异常信息:
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘content’ at row 1
确认数据不可能过长的情况下,应该是字符集的问题。
查看表信息:
Name        Engine  Version  Row_format    Rows  Avg_row_length  Data_length  Max_data_length  Index_length  Data_free  Auto_increment  Create_time          Update_time  Check_time  Collation          Checksum  Create_options  Comment
———-  ——  ——-  ———-  ——  ————–  ———–  —————  ————  ———  ————–  ——————-  ———–  ———-  —————–  ——–  ————–  ——————–
article  InnoDB       10  Compact          1           16384        16384                0             [...]

分类

 

9月 2010
« 4    
 12345
6789101112
13141516171819
20212223242526
27282930  

Blogroll