我正在使用MySQL 您多久备份一次数据库? 你通常如何备份你的数据库? 将所有数据导出为sql或cvs格式并保存在文件夹中?
我如何知道哪些MySQL用户可以访问数据库以及他们拥有哪些权限? 我似乎能够从phpMyAdmin获得这个信息,当我点击“特权”。 。 。 Users having access to "mydatabase" User Host Type Privileges Grant myuser1 % database-specific ALL PRIVILEGES Yes root localhost global ALL PRIVILEGES Yes myuser2 % database-specific SELECT, INSERT, UPDATE No 。 。 。 但我想知道如何从命令行执行此查询。 (phpMyAdmin经常向我显示它正在执行的命令的SQL语法,但在这种情况下我没有看到它。) 请注意,我不是问什么授予某个特定用户(即“SHOW GRANTS for myuser1”),而是给定数据库的名称,如何确定哪些MySQL用户有权访问该数据库以及他们拥有哪些权限? 基本上,我怎么能从命令行得到上面的图表?
我不小心丢掉了所有的桌子。 我可以恢复吗? 我没有备份副本。
我有一张有14亿logging的桌子。 表结构如下: CREATE TABLE text_page ( text VARCHAR(255), page_id INT UNSIGNED ) ENGINE=MYISAM DEFAULT CHARSET=ascii 要求是为列text创build一个索引。 桌子大小约为34G。 我试图通过以下声明创build索引: ALTER TABLE text_page ADD KEY ix_text (text) 经过10个小时的等待,我终于放弃了这个方法。 这个问题有没有可行的解决办法? 更新 :表不太可能被更新或插入或删除。 在列text上创build索引的原因是因为这种sql查询会频繁执行: SELECT page_id FROM text_page WHERE text = ? 更新 :我通过分区表解决了这个问题。 该表格被分成40个栏目text 。 然后在桌子上创build索引需要大约1个小时才能完成。 当表格大小变得非常大时,似乎MySQL索引创build变得非常慢。 分区将表格缩小为更小的中继。
我正在尝试编写一个脚本,允许用户select他需要在桌面上执行的操作。 我想检查表是否存在。 如果存在,我会继续其他的事情,否则我退出说表不存在。 我怎么能做到这一点。
我将把我的数据库服务器移到一些更好的新硬件上。 当前的数据库服务器除了运行Centos 4之外没有任何问题。当前的硬件是2个四核至强5335,4个15K RPM的RAID 10和4GB(是的,实际上只有4GB)的内存。 我的预算中的硬件select几乎没有价格差异,在RAID 10中将具有相同的4个15K RPM硬盘驱动器。它们是: 2四核至强5335与8GB 533/667 2hex核心至强2620与16GB 1333 4个双核心opteron 8212与8GB 667 1个8核心至强2650 8GB 1333 1个四核至强3460与16GB 1333 排除硬盘驱动器,数据库服务器的重要部分的顺序是什么? 是这样的:内存大小,内存速度,核心,然后caching大小?
在我的LAMPnetworking服务器上最近Debian升级到Wheezy之后 ,mysqldump正在发出警告: — Warning: Skipping the data of table mysql.event. Specify the –events option explicitly. 事件似乎是一些特别的事情。 手册页为mysqldump: * –events, -E Include Event Scheduler events for the dumped databases in the output. 我已经尝试添加–skip-events告诉mysqldump,这是明确的行为,我想(虽然我不知道为什么…),但它仍然会产生警告。 我怎样才能(a)阻止它发出这个警告, 或 (b)否则包括这个尴尬的表,如果它应该保留的东西。
我已经成功地使用vsftpd与虚拟用户连接PAM到我的MySQL数据库。 现在我想通过成功的vsftpd连接自动创build用户目录。 这里是/etc/pam.d/vsftpdconfiguration: #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 account required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 session required pam_mkhomedir.so skel=/home/skel/ umask=0022 debug 现在添加pam_mkhomedir只是显示它不能创build任何日志中没有其他消息的目录。 所以显然不适用。 还有什么我需要的吗? 我的/etc/vsftpd/vsftpd.conf: # No ANONYMOUS users allowed anonymous_enable=NO # Allow 'local' users with WRITE […]
我想编写一个shell脚本(目前使用bash)来自动备份远程服务器上几个MySQL模式的内容。 远程服务器被locking,只允许SSH访问,所以我必须创build一个SSH隧道,然后对各种模式运行mysqldump 。 我可以创build一个没有任何问题的隧道,但我希望能够在数据库转储完成后自动closures它。 目前我的脚本是这样做的: /usr/bin/ssh -T -f -L 4444:127.0.0.1:3306 -l remoteuser 208.77.188.166 sleep 600 /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db1 | gzip > /root/backups/snapshot/db1.sql.gz /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db2 | gzip > /root/backups/snapshot/db2.sql.gz /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db3 | gzip […]
我有一个大的MyISAM表(〜30M行)。 在某些时候,我已经把它切换到了固定的行格式,所以现在表格在磁盘上占用了40Gb,在索引上占用了2Gb。 表有一个唯一的索引,每秒有100个“插入重复键更新”查询。 随着表的增长,这些插入变得越来越慢。 我不确定,但分区会帮助我加快插入?