PostgreSQL与MySQL两大开源数据库论高下
当谈到开源数据库时,MySQL获
得了业界大部分的注意力,MySQL是一个易于使用的数据库,同时有许多开源的Web应用程序都是直接在它上面开发的。
另外一种主要的开源数据库是PostgreSQL,虽然它也是众所周知的,但是却没有获得像MySQL所得到的认可。这是很不幸的,因为在这两者
中,相比MySQL,PostgreSQL能提供更加安全、更加可靠、数据也更加完整的服务。
但是,这同样也有一定的缺陷。PostgreSQL对于设置和使用的要求比较高,它利用的是特殊权限、底层操作系统的安全性以及数据库内提供的角色
(roles)和特权。如果你对这些东西不够了解的话,会使得PostgreSQL的使用变得困难。但一旦你掌握了它们,你就可以像使用MySQL一样很
容易的使用PostgreSQL。
与MySQL相类似,PostgreSQL的工作基于这样一种原则,即特定的用户有特定的数据访问权限。在PostgreSQL里,这些被称之为
“角色(roles)”,通过采用CREATE ROLE, ALTER ROLE, and DROP
ROLE这些语句可以创建和管理它们。和MySQL不同的是,这些“角色”可以映射和绑定到系统的用户,这就意味着它可以利用不同形式的体系认 证:ident
server authentication、LDAP server
authentication、PAM和Kerberos。而对于本地连接,你也可以通过使用这些文件体系的权限来确定谁可以访问Unix域套接字,以及
它的位置。
PostgreSQL中,访问控制的方法是使用pg_hba.conf。对于身份识别,也可采用pg_ident.conf;这可以用于将数据库用
户映射到本地用户。假如用户“joe”是允许访问的PostgreSQL用户数据库“joe”和“电子商务”。pg_hba.conf文件包含如下:
# TYPE
DATABASE
USER
CIDR-ADDRESS
METHOD
local
all
all
ident map=esite
host
all
all
127.0.0.1/32
ident
map=esite
而pg_ident.conf可能会包括:
# MAPNAME
SYSTEM-USERNAME
PG-USERNAME
esite
joe
joe
esite
joe
ecommerce
esite
postgres
joe
这就允许系统用户“joe”作为“joe”或者“ecommerce.”来访问数据库。它也允许系统“postgres”用户以“joe”的身份连
接到数据库。同时强化对于名字为“esite”识别方法的映射类型,如在pg_ident.conf中所定义的那样。这就意味着在本地类型(Unix域套
相关文档:
我的mysql装在/usr/local/mysql目录下启
动碰到过很多问题。最常见的是:
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (111)
解决办法:
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root /
> -S /var/lib/mysql/mysql.sock password 'your.passwd'
......
操作系统: windows xp
php版本:5.2.5 http://www.php.net/downloads.php
Apache http server 版本:2.2.6http://httpd.apache.org/download.cgi
Mysql版本: 6.0.3http://dev.mysql.com/get/Downloads/MySQL-6.0
1.apache的安装:
1)双击apache_2.2.6-win32-x86-no_ssl.msi图标,启动apache安装程序;
2)安装以一个欢迎 ......
在mysql手册里面有一段描述关于lock tables的语法的.
LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...UNLOCK TABLESREAD
当表不存在 WRITE 写锁时 READ 读锁被执行,这该状态下,当前线程 ......
cacti 监控 mysql
环境:
Cactiez或者cacti主机:192.168.12.5
被监控mysql数据库主机:192.168.5.231
1. 安装监控插件
cd /opt
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.6.tar.gz
tar -xzvf mysql-cacti-templates-1.1.2.tar.gz
cp /opt/mysql-cacti-templates-1.1.2 ......
完美解决mysql下utf-8的乱码问题
建表时先加上default charset=utf8;
插入中文数据之前(Mysql命令提示符下)是用set names gb2312;
在php页面中设置是mysql_query('SET NAMES UTF8');
在php页面(已设定为utf8后)中插入中文数据不会出现乱码,应该插入数据库的时候就是以utf8字符集插入中文数据的故不会出现问题!
在php ......