现在MySQL已经被Oracle所有 ,RDBMS的未来似乎还不确定。 MySQL的主要开发人员Monty Widenius称为MariaDB ,是MySQL的一个替代品。 版本号匹配这两个DB服务器,MariaDB至less对于某些版本来说与MySQL是二进制兼容的。 (但是他们解释说, 在他们的网站上 ,似乎这些项目在某个时候可能会相互分离,使得它们不相容)。 我已经构build并安装了MariaDB 5.2,它的外观和行为与MySQL相同。 即使是二进制文件被称为mysqld和mysql 。 我听说,Oracle很可能会停止发布MySQL作为免费或开放源码的数据库系统。 下一个逻辑步骤是及时切换到另一个RDBMS。 鉴于MariaDB是MySQL的一个分支,使用它似乎更符合逻辑。 但是,开关已经很聪明了吗? 而且它应该是MariaDB吗? 是什么让我问这个问题,是MariaDB本身的项目。 我不想在这里得出结论,但似乎没有太大的动力。 (如果你明白我的意思,我不想跳上垂死的马)
我有一个位于美国的网站,我想在中国build立一个镜像站点,该站点使用PHP + MYSQL,两台服务器之间的networking质量很差。 我尝试在两个mysql数据库之间build立一个数据库同步,但由于networking质量差(极高的延迟,数据包丢失,有时甚至无法build立连接),总会有冲突。 有没有更好的方法来做镜像?
我有一张桌子。 由于该网站的性质,在该表中,如果我有400多个用户,那么它每小时会插入10万个新的行。 如果我已经接近4000然后2个小时左右,我将有至less500,000行插入。 这意味着每秒约800-1000个插入,甚至可能比这更多。 我如何准备这样的激烈使用表? 我在表中讨论的是每秒插入次数很多,我不希望它被locking或放慢速度。 表引擎是MyISAM,但它可以改变,以适应任何变化
我发现多lessinnodb池大小已经分配内存从show innodb status但我不知道它有多less实际使用。 也许它需要更多,或者我可以从它的一些记忆? 如何find它? 哦,还有一个问题,因为我对innodbconfiguration游乐场有点新鲜感 – 它使用了两种不同的记忆,对吧? 一个是ram,另一个是disk,是的? BUFFER POOL AND MEMORY ———————- Total memory allocated 7162316778; in additional pool allocated 1048576 Buffer pool size 393216 Free buffers 0 Database pages 380971 Modified db pages 1906 Pending reads 0 Pending writes: LRU 0, flush list 1, single page 0 Pages read 16986872, created 474559, […]
我正在对Small RDS数据库实例所支持的PHP Web应用程序进行一些负载/压力testing。 当我用约50个并发的Web请求来访问网站时,RDS数据库仅停止响应所有连接请求约10秒(两者均来自我的Web应用程序以及使用来自其他机器的命令行mysql客户端)。 PHP提供了以下错误: Could not connect to database. Lost connection to MySQL server at 'reading initial communication packet', system error: 110 我认为这只是在Web应用程序中占用资源很less/很慢的SQL,但是这样的性能看起来非常糟糕,所以我挖了一点深。 我在具有相同版本的mysql,数据库的克隆和默认configuration的EC2微型实例上设置另一个mysql服务器。 EC2实例的执行性能要好几倍(包括延迟时间和在呱呱声之前的并发web请求数量)。 我的RDS实例和我的EC2实例使用的是与默认configuration相同的MySQL版本,尽pipe我已经尝试调整RDS实例以增加各种缓冲区,max_connections和max_connection_errors,但都无济于事。 是什么赋予了? 为什么具有更好的“磁盘”I / O,3倍内存和更多专用CPU的RDS实例的性能优于懦弱的EC2实例? 我怀疑这是AWS怪癖还是MySQL / RDSconfiguration问题 – 希望任何一个主题上的guru都可以照亮这个问题…谢谢!
我有一个重写应用程序。 应用程序与调查相比是最好的 – 客户创build自定义问卷并将其保存到数据库。 大部分请求来自用户提交这些表单。 稍后,我们的客户会对这些提交内容进行复杂的报告和图表。 确保我们的应用程序服务器(PHP)和networking服务器(Nginx)可以轻松扩展,麻烦的是将数据库服务器扩展到多个服务器上。 很多应用程序的读取比较繁琐,所以通常情况下,您将拥有一个主从复制设置,其中所有写入操作都将转到单个主节点,但是会将读取操作分配给从节点。 对我们来说,这是行不通的,因为我们大部分时间都是在写文章。 我已经看到提到一个主 – 主设置,但是这通常会遇到与自动递增的主键的障碍。 解决scheme通常是有一个服务器做奇数,而另一个做平衡。 我想避免这一点。 在一些类似的问题上,我已经提到了钨复制器,以及它如何为复制提供更多的灵活性。 这会帮助我吗? 这会给我MySQL的内置复制无法提供什么样的好处? 还有MySQL簇,但是这通常会遇到非常大的数据库和复杂的查询(连接)的问题。 我需要能够运行复杂的报告,所以这可能不适合我。 我正在寻找冗余,自动故障转移,分配请求和数据完整性。 还有其他RDMS提供更适合networking的更好的解决scheme吗?
我想通过MySQL数据库来控制我的ProFTPdauthentication。 用户将能够在PHP Web应用程序中更改其FTP帐户的用户名和密码。 这引起了以下问题:在数据库usertable中设置的用户不匹配系统用户。 所以我无法更改我的文件系统中的目录权限,ProFTPdlogging错误: 用户名chdir(“/ var / www / vhosts / sites / username”):权限被拒绝 但是,我怎么能让这些FTP用户访问这些文件夹? 如果我build立了一个名为www-data的用户,它可以正常工作,但用户名不会在/etc/passwd定义。 我想pipe理的第二件事是限制这个唯一的目录,在这个例子中是/var/www/vhosts/sites/username 。 如果用户不在上面的主目录中,则用户不能访问其他目录。 我该如何解决?
我正在Mac OSX 10.6上运行MySQL 5.1。 我试图运行:sudo / usr / local / mysql / bin / mysqld –skip-grant –user root –datadir = / usr / local / mysql / data 这个错误阻止了我启动数据库和导入时区信息或做其他任何事情。 我试过干净安装没有运气。 有什么build议么?
有人告诉我,Ubuntu 11.10自带了MySQL 5.5,但是并没有显示在cachingsearch中。 它没有进入最新版本? root@ubuntu:/etc# cat lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.10 DISTRIB_CODENAME=oneiric DISTRIB_DESCRIPTION="Ubuntu 11.10" root@ubuntu:/etc# apt-cache search mysql-server mysql-server – MySQL database server (metapackage depending on the latest version) mysql-server-5.1 – MySQL database server binaries and system database setup mysql-server-core-5.1 – MySQL database server binaries auth2db – Powerful and eye-candy IDS logger, log viewer and alert generator […]
我最近开始使用允许压缩的Barracuda InnoDB / MySQL表格式。 我通过运行来压缩我的一个表格: alter table pricing row_format=compressed, key_block_size=8; 在我运行这个之后,我查看了压缩数据(我已经在ALTER TABLE之前清除了它们): mysql> select * from INFORMATION_SCHEMA.INNODB_CMP; + ———– ————– + + —————– + —- ———– + —————- + —————– + | page_size | compress_ops | compress_ops_ok | compress_time | uncompress_ops | uncompress_time | + ———– ————– + + —————– + —- ———– + —————- […]