创建wujunqi用户;
设置php-fpm配置文件:
重载php-fpm与httpd
创建挂载点/var/www/html,并挂载;
访问浏览器:
上传文字和图片:
上传成功!!
项目二:
(1) 使用samba共享/data/目录;
(2) 让samba客户端挂载samba服务器上共享的/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata,要求服务能正常启动,且可正常存储数据;
服务器端主机:172.16.72.9
客户端主机:172.16.72.5
服务器端主机:创建/data目录
#mkdir -pv /data
配置samba主配置文件:
samba用户设为mysql
创建mysql用户,并将其设为samba用户
将/data下属权限设为mysql,方便客户端管理:
客户端配置:
下载mysql;
将服务器端/data挂载至创建好的目录/mydata
#mount -t cifs -o username=mysql,password=123456 //172.16.72.9/myshare /mydata
将mariadb中的/etc/my.cnf配置文件的datadir路径改为挂载点/mydata
重载mysql
systemctl start mariadb.service
测试MySQL是否正常写入数据:
创建数据库成功
创建表成功:
samba共享目录构建wordpress与mysql
标签:samba mysql wordpress
小编还为您整理了以下内容,可能对您也有帮助:
mysql 服务器如何设定
版本:mysql-advanced-5.6.23-linux-glibc2.5-x86_64
具体可以参考目录下的INSTALL-BINARY文件
#安装mysql,将mysql压缩解压到/usr/local
tar zxvf mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz -C /uar/local/mysql
cd /usr/local
ln -s mysql-advanced-5.6.23-linux-glibc2.5-x86_64 mysql
cd mysql
#添加mysql用户和群组
groupadd mysql
useradd -r -g mysql mysql
#修改相关目录和文件属主和所属群组
chown -R mysql .
chgrp -R mysql .
或者:chown -R mysql:mysql .
#将目录属主更改为root,避免mysql用户将目录删除
chown -R root .
chown -R mysql data
#使用mysql用户权限来初始化数据库
scripts/mysql_install_db --user=mysql --datadir=/data --keep-my-cnf --no-defaults
#会提示缺少perl-modules
#FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db
yum -y install perl-Module-Install.noarch
#缺少依赖包libaio
#error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
yum -y install libaio-devel
#将mysql添加为服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
#将mysql的bin目录加入到PATH环境变量
#在/etc/profile最后面添加
PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
#脚本初始化已经添加mysqld脚本,如果没有直接cp /etc/init.d/mysqld
/etc/rc.d/init.d/mysqld
#启动mysql
/usr/local/mysql/bin/mysqld_safe &
#更改mysql root密码提示
#error: ‘Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
/usr/local/mysqladmin -u root -p password --socket=/var/lib/mysql/mysql.sock
#或者
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
#在/etc/my.cnf 文件socket参数指定为/tmp/mysql.sock
socket=/tmp/mysql.sock
#启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data --pid-file=/tmp/mysql.pid&
#查看mysql启动情况
ps aux | grep mysql
#查看mysql是否在监听端口3306
lsof i:3306
#如图:
#mysql已经启动成功
#待补充
#给192.168.137.31这台主机以用户名slave和密码love从主服务器进行同步复制
#远程连接错误
#ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.137.30‘ (113)
#查看错误113
perrot 113
#由于启用防火墙所致,centos7防火墙默认是firewalld
systemctl stop firewalld.service
systemctl disable firewalld
#关闭开启防火墙前后
#默认数据库:
#创建数据库d1和d2以及表t1和t2。
create database d1;
create database d2;
use d1;
create table t1(id int,name char(50));
insert into t1 value(1,‘t1name1‘);
insert into t1 value(2,‘t1name2‘);
use d2;
create table t2(id int,name char(50));
insert into t2 value(1,‘t2name1‘);
insert into t2 value(2,‘t1name2‘);
#备份数据库d1和d2表数据,-l会将所有表锁定,备份完成自动解锁,-F备份完成会重新生成binlog日志:
mysqldump -l -F -u root -p d1 >data/d1.sql
mysqldump -l -F -u root -p d2 >data/d2.sql
#备份所有数据库,包括自带的数据库:
mysqldump --all-databases -l -F -u root -p >data/all.sql
#还原到从服务器:
scp data/d*.sql root@192.168.137.31:/usr/local/mysql/data
#在从服务器执行:
mysql -u root -p
create database d1;
create database d2;
use d1;
source /usr/local/mysql/data/d1.sql
use d2;
source /usr/local/mysql/data/d2.sql
#待补充
#5.1.7版本开始不支持master-host、master-user、master-password等参数,在配置从服务器时注意需要在从服务器执行:
change master to master_host=‘主服务器IP‘,master_user=‘同步使用用户名(slave)‘,master_password=‘同步用户对应密码(love)‘;
start slave;
#重新生成binlog日志,假如当前binlog日志为mysql-bin.000004,新生成的binlog日志就是mysql-bin.000005
flush logs;
#重置binlog日志,即binlog日志会从原点开始记录,如双从mysql-bin.000001开始
reset master;
#查看slave状态
show slave statusG;
#可以使用mysqlbinlog来查看binlog日志
mysqlbinlog /data/mysql-bin.000004
#安装方法与主服务器一样,不重复说明。
#修改root密码
mysqladmin -u root -p password
change master to master_host=‘192.168.137.30‘,master_user=‘slave‘,master_password=‘love‘;
start slave;
show slave statusG;
#由于之前做了从服务器中复制,并且重置了主和从服务器binlog日志,所以需要以下操作
#在主服务器重置binlog日志,生产环境切勿随便重置binlog日志,重置之后会删除起点之后的所有日志文件
#为方便查看同步效果,如果主服务器已经手动建立过数据库的,应该将它删除,若不删除又不把手动建立的
#数据库备份还原到从服务器,当在主服务器对这些数据库进行增删修时,从服务器由于没有这些数据库,就会报错
#将测试数据库删除,并重置日志文件
drop database d1;
drop database d2;
reset master;
#查看主服务器log_pos位置起点,以便在从服务器设定同步起点,
show master status;
#起点变成120
#从服务器
#配置文件
server_id:必须唯一
replicate-do-db:指定需要同步的数据库,一个数据库一行
replicate-ignore-db:指定不需要同步的数据库,一个数据库一行
#重置从服务器日志并开启复制
reset master;
stop slave;
change master to master_host=‘192.168.137.30‘,master_user=‘slave‘,master_password=‘love‘;
start slave;
#看到Slave_IO_Running和Slave_SQL_Running状态显示为Yes,可以看出与主服务器连接正常
Slave_IO_Running:负责从主服务器将binlog复制到本地,YES表示复制状态正常,NO表示复制状态不正常或者是无法从主服务器复制。
Slave_SQL_Running:负责从复制到本地的binlog日志中读取positon点和sql语句并执行一遍,并且会将自身操作日志写入到relaylog中继日志中。
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
#从服务器正等待主服务器进行增、删、修操作,一旦主服务器进行这些操作,从服务器在刷新时间内就会根据从主服务器的binlog来同步数据
#Replicate_Ignore_DB显示的是忽略同步的数据库
Replicate_Ignore_DB: mysql,test,information_schema,ignoredb
#需要在my.cnf配置文件添加,一行指定一个数据库
replicate-ignore-db=mysql
replicate-ignore-db=test
replicate-ignore-db=information_schema
replicate-ignore-db=ignoredb
#将复制事件写入到自己的二进制日志文件,中继日志和自己binlog日志默认值开启并且存放在/var/lib/mysql
log-slave-updates
#数据库存放位置可以通过datadir参数来更改
datadir=/data
#日志存放位置可以通过log-bin参数加上绝对路径来修改
log-bin=/binlog/mysql-bin
#如果在启动过mysql之后再修改数据目录存放路径,要先将pid文件、中继日志文件和数据库文件复制到修改后目录,不然在启动mysql总会提示找不到pid文件,而无法启动成功,一般都会将binlog文件和数据库文件分开,避免因磁盘损坏而无法使用binlog恢复数据
#在主服务器上重新建立数据库d1和d2以及t1和t2,可以在从服务器看到很快就会将这两个数据库同步过来
本文出自 “爱就行动” 博客,请务必保留此出处http://1055745601.blog.51cto.com/5003160/1659226
mysql服务器(一)
标签:mysql服务器(一)
mysql 服务器如何设定
版本:mysql-advanced-5.6.23-linux-glibc2.5-x86_64
具体可以参考目录下的INSTALL-BINARY文件
#安装mysql,将mysql压缩解压到/usr/local
tar zxvf mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz -C /uar/local/mysql
cd /usr/local
ln -s mysql-advanced-5.6.23-linux-glibc2.5-x86_64 mysql
cd mysql
#添加mysql用户和群组
groupadd mysql
useradd -r -g mysql mysql
#修改相关目录和文件属主和所属群组
chown -R mysql .
chgrp -R mysql .
或者:chown -R mysql:mysql .
#将目录属主更改为root,避免mysql用户将目录删除
chown -R root .
chown -R mysql data
#使用mysql用户权限来初始化数据库
scripts/mysql_install_db --user=mysql --datadir=/data --keep-my-cnf --no-defaults
#会提示缺少perl-modules
#FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db
yum -y install perl-Module-Install.noarch
#缺少依赖包libaio
#error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
yum -y install libaio-devel
#将mysql添加为服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
#将mysql的bin目录加入到PATH环境变量
#在/etc/profile最后面添加
PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
#脚本初始化已经添加mysqld脚本,如果没有直接cp /etc/init.d/mysqld
/etc/rc.d/init.d/mysqld
#启动mysql
/usr/local/mysql/bin/mysqld_safe &
#更改mysql root密码提示
#error: ‘Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
/usr/local/mysqladmin -u root -p password --socket=/var/lib/mysql/mysql.sock
#或者
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
#在/etc/my.cnf 文件socket参数指定为/tmp/mysql.sock
socket=/tmp/mysql.sock
#启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data --pid-file=/tmp/mysql.pid&
#查看mysql启动情况
ps aux | grep mysql
#查看mysql是否在监听端口3306
lsof i:3306
#如图:
#mysql已经启动成功
#待补充
#给192.168.137.31这台主机以用户名slave和密码love从主服务器进行同步复制
#远程连接错误
#ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.137.30‘ (113)
#查看错误113
perrot 113
#由于启用防火墙所致,centos7防火墙默认是firewalld
systemctl stop firewalld.service
systemctl disable firewalld
#关闭开启防火墙前后
#默认数据库:
#创建数据库d1和d2以及表t1和t2。
create database d1;
create database d2;
use d1;
create table t1(id int,name char(50));
insert into t1 value(1,‘t1name1‘);
insert into t1 value(2,‘t1name2‘);
use d2;
create table t2(id int,name char(50));
insert into t2 value(1,‘t2name1‘);
insert into t2 value(2,‘t1name2‘);
#备份数据库d1和d2表数据,-l会将所有表锁定,备份完成自动解锁,-F备份完成会重新生成binlog日志:
mysqldump -l -F -u root -p d1 >data/d1.sql
mysqldump -l -F -u root -p d2 >data/d2.sql
#备份所有数据库,包括自带的数据库:
mysqldump --all-databases -l -F -u root -p >data/all.sql
#还原到从服务器:
scp data/d*.sql root@192.168.137.31:/usr/local/mysql/data
#在从服务器执行:
mysql -u root -p
create database d1;
create database d2;
use d1;
source /usr/local/mysql/data/d1.sql
use d2;
source /usr/local/mysql/data/d2.sql
#待补充
#5.1.7版本开始不支持master-host、master-user、master-password等参数,在配置从服务器时注意需要在从服务器执行:
change master to master_host=‘主服务器IP‘,master_user=‘同步使用用户名(slave)‘,master_password=‘同步用户对应密码(love)‘;
start slave;
#重新生成binlog日志,假如当前binlog日志为mysql-bin.000004,新生成的binlog日志就是mysql-bin.000005
flush logs;
#重置binlog日志,即binlog日志会从原点开始记录,如双从mysql-bin.000001开始
reset master;
#查看slave状态
show slave statusG;
#可以使用mysqlbinlog来查看binlog日志
mysqlbinlog /data/mysql-bin.000004
#安装方法与主服务器一样,不重复说明。
#修改root密码
mysqladmin -u root -p password
change master to master_host=‘192.168.137.30‘,master_user=‘slave‘,master_password=‘love‘;
start slave;
show slave statusG;
#由于之前做了从服务器中复制,并且重置了主和从服务器binlog日志,所以需要以下操作
#在主服务器重置binlog日志,生产环境切勿随便重置binlog日志,重置之后会删除起点之后的所有日志文件
#为方便查看同步效果,如果主服务器已经手动建立过数据库的,应该将它删除,若不删除又不把手动建立的
#数据库备份还原到从服务器,当在主服务器对这些数据库进行增删修时,从服务器由于没有这些数据库,就会报错
#将测试数据库删除,并重置日志文件
drop database d1;
drop database d2;
reset master;
#查看主服务器log_pos位置起点,以便在从服务器设定同步起点,
show master status;
#起点变成120
#从服务器
#配置文件
server_id:必须唯一
replicate-do-db:指定需要同步的数据库,一个数据库一行
replicate-ignore-db:指定不需要同步的数据库,一个数据库一行
#重置从服务器日志并开启复制
reset master;
stop slave;
change master to master_host=‘192.168.137.30‘,master_user=‘slave‘,master_password=‘love‘;
start slave;
#看到Slave_IO_Running和Slave_SQL_Running状态显示为Yes,可以看出与主服务器连接正常
Slave_IO_Running:负责从主服务器将binlog复制到本地,YES表示复制状态正常,NO表示复制状态不正常或者是无法从主服务器复制。
Slave_SQL_Running:负责从复制到本地的binlog日志中读取positon点和sql语句并执行一遍,并且会将自身操作日志写入到relaylog中继日志中。
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
#从服务器正等待主服务器进行增、删、修操作,一旦主服务器进行这些操作,从服务器在刷新时间内就会根据从主服务器的binlog来同步数据
#Replicate_Ignore_DB显示的是忽略同步的数据库
Replicate_Ignore_DB: mysql,test,information_schema,ignoredb
#需要在my.cnf配置文件添加,一行指定一个数据库
replicate-ignore-db=mysql
replicate-ignore-db=test
replicate-ignore-db=information_schema
replicate-ignore-db=ignoredb
#将复制事件写入到自己的二进制日志文件,中继日志和自己binlog日志默认值开启并且存放在/var/lib/mysql
log-slave-updates
#数据库存放位置可以通过datadir参数来更改
datadir=/data
#日志存放位置可以通过log-bin参数加上绝对路径来修改
log-bin=/binlog/mysql-bin
#如果在启动过mysql之后再修改数据目录存放路径,要先将pid文件、中继日志文件和数据库文件复制到修改后目录,不然在启动mysql总会提示找不到pid文件,而无法启动成功,一般都会将binlog文件和数据库文件分开,避免因磁盘损坏而无法使用binlog恢复数据
#在主服务器上重新建立数据库d1和d2以及t1和t2,可以在从服务器看到很快就会将这两个数据库同步过来
本文出自 “爱就行动” 博客,请务必保留此出处http://1055745601.blog.51cto.com/5003160/1659226
mysql服务器(一)
标签:mysql服务器(一)
ln:failed to create symbolic link file exists 怎么解决
错误原因分析:
根源:uboot放在linux虚拟机与windows共享的文件下,由于在配置uboot文件的时候需要建立一些软连接,而在windows下不支持此操作。
解决方案:
1,将uboot复制一份到linux的非共享文件夹下,然后再执行配置操作,出现此提示表示配置成功:Configuring for x210_sd board…
好处:简单粗暴,快速解决问题。缺陷:如若想在windows下用source insight查看代码就没办法。(解决办法:可cp 2份uboot,一份在共享目录下,一份在非共享目录下)
2,在Linux中,建立Samba服务,然后新创建新samba用户和文件夹,然后在windows中就可以访问到该文件夹了。然后把在Linux中,从共享目录拷贝到你所要共享的samba目录中,这样,也可以实现所要的文件共享。 好处:在windows与linux访问都ok,缺点:费时。
u-boot系统启动流程,大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。
U-Boot 对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11月PPCBOOT改名为U-Boot后逐步扩充的。
从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。
求助,如何ftp和samba共用同一个目录
FTP的目录是可以自己选择的,可以选择C盘 D盘 E盘,也可以随便选择一个文件夹或者新建一个文件夹当做FTP文件夹。这个可以在搭建FTP服务器的时候选择路径。
而使用SMB协议的话,需要右键选择你需要的那个文件夹,点击属性设置为共享。你可以选择用户为everyone,这样方便点。
按以上步骤即可实现FTP文件夹和SMB共享文件夹都是一个文件夹。
求助,如何ftp和samba共用同一个目录
FTP的目录是可以自己选择的,可以选择C盘 D盘 E盘,也可以随便选择一个文件夹或者新建一个文件夹当做FTP文件夹。这个可以在搭建FTP服务器的时候选择路径。
而使用SMB协议的话,需要右键选择你需要的那个文件夹,点击属性设置为共享。你可以选择用户为everyone,这样方便点。
按以上步骤即可实现FTP文件夹和SMB共享文件夹都是一个文件夹。
Wordpress建站空间要多大的Mysql空间才够
别用虚拟主机,要使用云服务器才够用。
20M的mysql够你写几年的了,不过你这种虚拟主机的可用性真的是很差的。
一般云服务器默认 40G~50G的硬盘空间,可以存放几万篇带图片的文章都没问题。
如果你要发布的文章数量超过这个了,可以额外添加数据盘,100G,不够就200G,也能使用一段时间了。
Wordpress建站空间要多大的Mysql空间才够
别用虚拟主机,要使用云服务器才够用。
20M的mysql够你写几年的了,不过你这种虚拟主机的可用性真的是很差的。
一般云服务器默认 40G~50G的硬盘空间,可以存放几万篇带图片的文章都没问题。
如果你要发布的文章数量超过这个了,可以额外添加数据盘,100G,不够就200G,也能使用一段时间了。
如何使用Wordpress构建自己的个人博客
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
1丶到wordpress官方网站下载博客程序,解压程序代码。
2丶通过ftp上传wordpress程序代码到服务器根目录下面。
3丶在浏览器输入您的网址域名(在此之前您的域名已经解析完成),就会出现如图
点击,现在就开始!进行安装。
4丶就会出现如图:
在这里输入您的数据库名,用户名,密码,数据库主机,点击提交,完成安装
设置好标题和用户名,就可以访问了
MySQL与PostgreSQL比较 哪个数据库更好
对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。
MySQL
MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如WordPress、Drupal、Zend及phpBB等。
一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的核心存储引擎与第三方引擎。
MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。
MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:Standard、Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。
现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael "Monty" Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。
PostgreSQL
PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。
PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。
可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来自于厂商的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规则确保数据质量。在众多的管理特性中,point-in-time recovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能了。
平台
MySQL与PostgreSQL都出现在一些高流量的Web站点上:
MySQL:Slashdot、Twitter、与Wikipedia
PostgreSQL:Yahoo使用了一个修改的PostgreSQL数据库来处理每天数以亿计的事件,还有Reddit和Disqus
MySQL与PostgreSQL都能运行在多个操作系统上,如Linux、Unix、Mac OS X与Windows。他们都是开源、免费的,因此测试他们时的唯一代价就是你的时间与硬件。他们都很灵活且具有可伸缩性,可用在小型系统和大型分布式系统上。MySQL在一个领域上要比PostgreSQL更进一步,那就是它的触角延伸到了嵌入式领域,这是通过libmysqld实现的。PostgreSQL不支持嵌入式应用,依然坚守在传统的客户端/服务器架构上。