小编fan*_*yna的帖子

ALTER TABLE ADD COLUMN需要很长时间

我只是想在数据库中的表(main_table)中添加一个名为"location"的列.我运行的命令是

ALTER TABLE main_table ADD COLUMN location varchar (256);
Run Code Online (Sandbox Code Playgroud)

main_table包含> 2,000,000行.它持续运行超过2小时仍未完成.

我试图用来mytop 监视这个数据库的活动,以确保查询没有被其他查询过程锁定,但似乎没有.应该花那么长时间吗?实际上,我刚刚在运行此命令之前重启了机器.现在这个命令仍在运行.我不知道该怎么做.

mysql performance alter

66
推荐指数
3
解决办法
5万
查看次数

如何在innodb中禁用索引

我试图通过临时禁用其索引来加速InnoDB表中的批量插入:

ALTER TABLE mytable DISABLE KEYS;
Run Code Online (Sandbox Code Playgroud)

但它发出警告:

+-------+------+-------------------------------------------------------------+
| Level | Code | Message                                                     |
+-------+------+-------------------------------------------------------------+
| Note  | 1031 | Table storage engine for 'mytable' doesn't have this option |
+-------+------+-------------------------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我们如何禁用索引?

在进行批量插入时,有哪些替代方法可以避免使用索引?

我们怎样才能加快这个过程?

mysql indexing innodb

31
推荐指数
4
解决办法
5万
查看次数

尝试停止其服务时出现MySQL-Linux错误

这是我试图在我的机器上停止MySQL服务器时收到的消息:

MySQL manager or server PID file could not be found
Run Code Online (Sandbox Code Playgroud)

我执行的命令:

service mysql stop
Run Code Online (Sandbox Code Playgroud)

要么

/etc/init.d/mysqld stop
Run Code Online (Sandbox Code Playgroud)

我也尝试启动MySQL服务器,但是我收到了以下错误

Starting MySQL.Manager of pid-file quit without updating file
Run Code Online (Sandbox Code Playgroud)

我无法访问MySQL数据库.

要点几点:

  1. 我在/etc/my.cnf下有my.cnf文件
  2. ps -ef |grep mysql 不显示任何进程
  3. /var/run/mysqld/是空的(没有mysql.pid文件)
  4. /tmp/mysql.sock 不存在

我读了这个文件/var/log/mysqld.log,似乎mysql试图做一些崩溃恢复.昨天可能会关机,但这是我无法控制的.我只是想恢复数据库.任何专家都可以帮助我吗?我有这台机器的sudo帐户,但我不会重启这台机器,除非它是最后一个选项,因为它是其他人使用的服务器.

mysql linux

11
推荐指数
1
解决办法
7864
查看次数

在第1行截断列'url'的数据 - 使用Python Django编程时出错

我得到的错误信息是

Traceback (most recent call last):
  File "./test.py", line 416, in <module>
    startup()
  File "./test.py", line 275, in startup
    writer.save(r,data) 
  File "/home/user/project/test/output.py", line 91, in save
    self.save_doc(r, data, pid)
  File "/home/user/project/test/output.py", line 130, in save_doc
    cursor.execute(dbquery)
  File "/usr/local/lib/python2.6/site-packages/django/db/backends/util.py", line 34, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 86, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-x86_64.egg/MySQLdb/cursors.py", line 175, in execute
  File "/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-x86_64.egg/MySQLdb/cursors.py", line 89, in _warning_check
_mysql_exceptions.Warning: Data truncated for column 'url' at row 1
Run Code Online (Sandbox Code Playgroud)

我检查的第一件事是URL字符串是否长于字段长度,但它实际上要短得多.数据库设计

+----------+-------------------------------------------------------------------+
| Database | …
Run Code Online (Sandbox Code Playgroud)

python mysql django

8
推荐指数
1
解决办法
8902
查看次数

如何逐步写入json文件

我正在编写一个程序,它要求我生成一个非常大的json文件.我知道传统的方法是使用转储字典列表json.dump(),但是列表太大了,甚至总内存+交换空间也无法在转储之前保留它.无论如何将它流式传输到json文件中,即将数据json逐步写入文件中?

python json dictionary

8
推荐指数
2
解决办法
3508
查看次数

"Hello World"不适用于rabbitmq

我是rabbitmq的新手,但由于某些(未知)原因,"hello world"程序对我不起作用.send.py和receive.py只是从教程页面复制并粘贴:

http://www.rabbitmq.com/tutorials/tutorial-one-python.html

在RHEL 6上使用"yum"安装rabbitmq.Python版本为2.6.我使用了启动服务器

$ service rabbitmq-server start
Run Code Online (Sandbox Code Playgroud)

并打印出"成功".

运行send.py和receive.py时没有错误或警告消息:

$ python send.py
 [x] Sent 'Hello World!'

$ python receive.py
 [*] Waiting for messages. To exit press CTRL+C
Run Code Online (Sandbox Code Playgroud)

然后它永远不会打印"Hello World!".

它出什么问题了?

rabbitmq

7
推荐指数
1
解决办法
2327
查看次数

无法在RHEL上打开显示

我正在尝试使用RHEL 6.2从桌面客户端(mydesktop)ssh到安装了RHEL 5.8的服务器(myserver).我有组在远程服务器上安装了"X Window",远程服务器上的DISPLAY变量也设置为localhost:0.0,但我还是无法启动firefox.连接命令是

$ ssh -X -l myname myserver
Run Code Online (Sandbox Code Playgroud)

错误消息是

$ firefox
Error: cannot open display: localhost:0.0
Run Code Online (Sandbox Code Playgroud)

我尝试在myserver上执行命令

$ xhost +localhost
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误信息

xhost:  unable to open display "localhost:0.0"
Run Code Online (Sandbox Code Playgroud)

我想提到三种现象

  1. mydesktop的另一个用户可以在登录myserver后启动firefox.
  2. 当我远程登录到另一台服务器时,我能够启动firefox:myserver2.
  3. firefox只是一个例子.一般来说,我无法启动任何x窗口程序.

我不知道发生了什么事.请帮我.


这是我的问题的更新.这个问题"部分地"解决了.我做的是从我的".bashrc"文件中删除"export DISPLAY == localhost:0.0",注销然后再次登录,我可以启动firefox!


然而,这不是故事的结局.我有一个新问题:$ sudo wireshark

不起作用.这是错误消息:

[myself@myserver ~]$ sudo wireshark
debug1: client_input_channel_open: ctype x11 rchan 2 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 46595
debug1: channel 1: new [x11]
debug1: confirm x11
debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384 …
Run Code Online (Sandbox Code Playgroud)

linux x11 firefox redhat

5
推荐指数
1
解决办法
4万
查看次数

如何在不使用IDE的情况下在Linux上运行Java项目

我是Java新手。基本上,我开发了一个Java项目,该项目在Eclipse中包含多个Java包。该项目在安装了redhat Linux的桌面上可以正常运行。但是,我需要在未安装X11的功能更强大的Linux服务器(redhat enterprise Linux)上运行它。因此,不可能在该服务器上运行Eclipse。有可能这样做吗?如果是这样,我如何将整个项目(包括输入和输出文件夹)移动到该服务器?

谢谢

java linux ide

5
推荐指数
1
解决办法
7135
查看次数

AWS Bucket Policy Error:策略具有无效操作

我有一个非常基本的目标:将我的存储桶的所有内容分享给特定用户列表,只读.这曾经使用一个名为s3cmd的工具.我需要做的就是将用户(通过电子邮件识别)添加到具有读取权限的访问控制列表中,他们可以顺利地列出或下载数据.

但最近,这突然间不再起作用了.系统只是拒绝任何访问我的存储桶的尝试.

然后我开始考虑编辑存储桶策略.以下是策略生成器生成的策略草稿(敏感信息是匿名的):

{
  "Id": "Policy123456789",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1512705836469",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListObjects"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::mybucketname",
      "Principal": {
        "AWS": [
          "arn:aws:iam::anotheruserid:user/admin"
        ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我点击"保存"时,我收到"策略有无效操作"错误.然后我尝试删除"ListObjects",以便策略成为

{
  "Id": "Policy123456789",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1512705836469",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::mybucketname",
      "Principal": {
        "AWS": [
          "arn:aws:iam::anotheruserid:user/admin"
        ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

并得到另一条错误消息"操作不适用于语句中的任何资源".这两个错误对我来说没有意义.如果我错了,请纠正我.如果我没有朝着正确的方向前进,请帮助我.

顺便说一句:我试图按照http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html上的教程进行操作, 但没有成功.通过使用以下存储桶策略:

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Example permissions",
         "Effect": "Allow",
         "Principal": …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 bucket amazon-web-services

4
推荐指数
1
解决办法
5517
查看次数

了解其输出中的rsync传输速率

我使用rsync传输了一个大文件(> 60GB)但我在计算实际传输速率时感到困惑.输出是

   dbdump.sql
    69840316437 100%    7.75MB/s    2:23:09 (xfer#1, to-check=0/1)

    sent 30 bytes  received 17317620159 bytes  2015199.88 bytes/sec
    total size is 69840316437  speedup is 4.03
Run Code Online (Sandbox Code Playgroud)

直接从第二行显示的速率是7.75MB/s.但是我从最后一行计算的速率只有2MB/s.但是,如果将总大小除以总时间69840316437 /(2x3600 + 23x60 + 9)= 8131367字节/秒约8MB/s.哪一个是实际的平均转移率?

谢谢

linux rsync

3
推荐指数
1
解决办法
5178
查看次数

哪个过程正在使用我的记忆?

我基本上关闭了所有进程,但运行"top"命令仍然可以使用18GB:

top - 11:23:34 up 2 days, 19:20,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 202 total,   1 running, 201 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32940056k total, 19210460k used, 13729596k free,   182428k buffers
Swap:  2031608k total,        0k used,  2031608k free, 18688628k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                        
32326 csxbot    15   0 12760 1168  812 R  0.3  0.0   0:00.02 top                                                             
    1 root      15   0 …
Run Code Online (Sandbox Code Playgroud)

linux memory redhat

2
推荐指数
1
解决办法
4550
查看次数

UnicodeWarning:Unicode相等比较无法将两个参数都转换为Unicode

我知道很多人以前遇到过这个错误,但我找不到解决问题的方法.

我有一个我想要规范化的网址:

url = u"http://www.dgzfp.de/Dienste/Fachbeitr%C3%A4ge.aspx?EntryId=267&Page=5"
scheme, host_port, path, query, fragment = urlsplit(url)
path = urllib.unquote(path)
path = urllib.quote(path,safe="%/")
Run Code Online (Sandbox Code Playgroud)

这会给出一条错误消息:

/usr/lib64/python2.6/urllib.py:1236: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  res = map(safe_map.__getitem__, s)
Traceback (most recent call last):
  File "url_normalization.py", line 246, in <module>
    logging.info(get_canonical_url(url))
  File "url_normalization.py", line 102, in get_canonical_url
    path = urllib.quote(path,safe="%/")
  File "/usr/lib64/python2.6/urllib.py", line 1236, in quote
    res = map(safe_map.__getitem__, s)
KeyError: u'\xc3'
Run Code Online (Sandbox Code Playgroud)

我试图从URL字符串中删除unicode指示符"u",我没有收到错误消息.但是我怎样才能自动摆脱unicode,因为我直接从数据库中读取它.

python unicode

1
推荐指数
1
解决办法
3469
查看次数