Articles of mysql

试图更改数据库驱动器导致“无法通过套接字连接到本地MySQL服务器”

我试图将我的数据库移动到我的Ubuntu安装上的一个amazon EC2实例上的另一个安装,因为它填满了根目录。 我想我已经把事情搞砸了。 当我运行: $ sudo mysqld –datadir=/var/lib/mysql –user mysql 110412 11:36:44 [Warning] Can't create test file /mnt/var/lib/mysql/ip-10-244-207-161.lower-test 110412 11:36:44 [Warning] Can't create test file /mnt/var/lib/mysql/ip-10-244-207-161.lower-test 在/var/log/mysql/error.log : 110412 16:01:27 [Note] Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 110412 16:01:27 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create […]

MySQL严格模式卡住了

从Remi-DB(CentOS 6)升级到MySQL 5.5后,我们遇到了一个问题:每次重新启动时,我们的SQL服务器都会将自己设置为严格模式: mysql> SELECT @@GLOBAL.sql_mode; +——————————————–+ | @@GLOBAL.sql_mode | +——————————————–+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +——————————————–+ 然后我运行命令: mysql> SET GLOBAL sql_mode=""; Query OK, 0 rows affected (0.00 sec) 这工作正常的会议,但重新启动这个变化是失去了(我也尝试设置“SET SESSION”sqlmode以及。 我也想注意到,我也在my.cnf文件中试过这个。 唯一可行的解​​决scheme是编写一个init文件在重新启动时运行SET GLOBAL sql_mode ,但是这很麻烦,烦人,而且不合理,所以必须让这个工作成为可能。 我试过重新安装SQL服务器无济于事。 (不过,我确实从备份中取回了数据,因为这是一个生产服务器。)

如何禁用破坏性的数据库命令?

大多数系统pipe理员都会理解黑客对其pipe理的SQL数据库执行DROP或DELETE等破坏性命令的风险。 有没有办法彻底禁用这样的命令执行,也许通过configurationMySQL / MS SQL / PostgreSQL,或修改源代码,如果他们是开源的,删除这些危险的function。 Once you have your webapp online, would someone with honorable intentions ever need to DROP a table?! 这可能是“主要”数据库安全性的圣杯解决scheme,而不是四处奔跑,试图阻止这些完全不必要的命令。 当然,在开发或可维护期间,可以重新启用,然后在不需要时closures。

我如何授予用户使用MySQL的完整权限?

我如何授予一个MySQL用户的完整权限? 我在Redhat上运行MySQL 5.1。 我尝试使用cPanel,但是当我使用jet profiler时,它说我没有完整的权限。 我用ssh不太好,请详细一点。

mysqldump跳过一个表

我正在运行一个cronjob来使用mysqldump来备份我们的系统。 数据库包含90左右的表格。 其中一个表是巨大的,每隔一段时间导致转储失败。 从手册中我看到,你可以指定特定的表转储 shell> mysqldump [options] db_name [tbl_name …] 这让我思考。 如果我有两份工作,一份是倾倒巨大的桌子,一份是为了所有其他人。 要做到这一点,如果我能够做到这一点,这将是很好的 shell> mysqldump -u backupuser -p database huge_table > db_huge_table.sql shell> mysqldump -u backupuser -p database –skip huge_table > db_rest.sql 不幸的是,我没有看到这样的select。 我当然可以明确地说出90张桌子,但是看起来像是一团糟。 另一个select是某种脚本,但在检查路线之前,我会尝试使用这个资源。 MySQL在CentOS 6.2上是5.1.61

快速数据库存储10亿条logging

我正在编写一个存储数据的代码,并希望存储10亿到10亿条logging甚至更多。 最重要的是速度(近似10000 – 20000 /logging每秒),SPACE使用和CRASH打样。 现在我一直在玩MySQL MyISAM,它的工作速度非常快,并且符合我们所需要的速度。 MyISAM也具有最佳的SPACE使用率,MySQL数据文件夹中的数据库文件几乎等于我插入的数据量,例如,对于每个30个字符的100000条logging,只需要3MB。 但唯一的问题是,它不是ACID,并可能导致数据丢失的崩溃。 所以我想知道任何替代品(我甚至不介意将数据库软件改为其他任何东西),这可以帮助我们存储如此多的数据并将其存储在FAST中。 我已经尝试MySQL INNODB,它的插入非常缓慢。 我每秒只能达到800-1000个/logging。 INNODB中存储数据的空间也非常大。 存储每个30个字符的相同的100000条logging需要将近8 MB。 我也尝试了MongoDB作为替代scheme,但是它又需要太多空间来存储相同的数据。 即使SQLITE3数据库是非常非常慢写100000条logging。 我在for循环中用PHP试了一下。 它也错过了20个logging,并给出了数据库不可用的错误。 所以我想知道任何可以满足我的要求的开源数据库软件。 我听说MariaDB的ARIA符合ACID标准。 这是真的吗? 或者,PostgreSQL也是一个很好的select,具有最佳的空间利用率。 我对任何FAST解决scheme都是开放的,利用最佳空间并且是防止破坏。 期待回复。 ===更新MariaDB咏叹调===它甚至比插入速度和空间的InnoDB还差。 它比InnoDB花费了1.5倍的时间来插入相同的数据和MyISAM使用的近2.5倍的空间。

DRBD与MySQL

关于使用DRBD为MySQL提供HA的问题 我需要确保备份MySQL实例在发生故障转移时总是处于function状态。 例如,如果主模具部分通过交易进行交易,会发生什么情况? 我们将最终将数据复制到MySQL无法处理的次要数据? 或者,如果networking在两者同步的同时消失了,而不是所有的数据都能通过。 似乎有可能进入一个状态,在辅助数据不完整,使得无法启动和读取数据库。 我错过了什么吗?

为什么使用SSH服务器的隧道?

我有Ubuntu服务器作为我的PHP网站灯服务器。 mysql服务器被安装并且为localhost端口打开。 我已经阅读了如何隧道SSH到我的MySQL服务器。 但我还没有明白为什么这比直接打开互联网端口的MySQL服务器更好。 无论如何,黑客可能会蛮横的强制端口的密码。 如果打开公共端口(3306),或者使用隧道,则为ssh(22)。 那么为什么使用ssh tunneling for mysql(以及许多其他服务器应用程序)更好呢?

mysqld:无法识别的服务

我有一个运行less量网站的CentOS服务器。 突然,所有的网站停止运作,当我检查,我注意到,MySQL服务已closures。 我是这个服务器相关的新东西。 我在WebMin上执行了以下命令,因为我有权访问它。 > /etc/rc.d/init.d/mysqld start bash: /etc/rc.d/init.d/mysqld: No such file or directory > service mysqld start mysqld: unrecognized service 因为它今天早上的工作甚至很奇怪。 有人可以帮我解决这个问题。 谢谢。

使用NAS服务器作为MySQL数据库服务器?

我们是4-5个工作站的小型网站开发公司。 我们使用其中一台PC作为networking服务器和数据库服务器。 我们正在考虑select购买一些NAS服务器(如http://www.synology.com/products/product.php?product_name=DS212j&lang=enu ),将其用作数据库和networking服务器。 由于我在这个领域没有任何经验,我会问这是明智的吗? 当我们在本地环境中testing项目时,这是否可以应付复杂的,更令人失望的sql查询呢? 或者,也许会更聪明地购买另一台电脑,并只安装操作系统和WAMP /灯泡呢? 谢谢。