小编Nor*_*ing的帖子

将MySQL InnoDB数据库移动到单独的驱动器

在我的MySQL安装中,我有一个InnoDB数据库,我知道它会变得非常大,所以我决定将它移动到自己的磁盘上.我希望通过将文件移动到另一个磁盘,然后创建一个符号链接,但我遇到错误!

这就是我所做的:

1)在my.cnf我已经设定

[mysqld] innodb_file_per_table

(这有效,我在数据库文件夹中每个.frd有一个.ibd.)

2)我检查了符号链接是否正常 SHOW VARIABLES LIKE "have_symlink";

(我知道文件说:

仅对MyISAM表完全支持符号链接.对于表用于其他存储引擎的文件,如果尝试使用符号链接,可能会遇到奇怪的问题.

但我需要外键......)

3)我移动了数据库文件夹并创建了一个符号链接.

4)重启mysql并尝试:

 mysql> USE db_name
 Database changed
 mysql> SHOW TABLES;
 ERROR 1018 (HY000): Can't read dir of './db_name/' (errno: 13)
 mysql> exit
 user@comp# perror 13
 OS error code  13:  Permission denied
Run Code Online (Sandbox Code Playgroud)

符号链接(如预期的那样) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/

数据库文件夹权限 drwx------ mysql mysql

所有文件权限都是 -rw-rw---- mysql mysql

我正在使用Ubuntu 10.04 Server和MySQL 5.1.41(默认来自apt).

有没有人成功完成这项工作?

mysql symlink innodb

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

在python线程中关闭侦听套接字

我试图了解网络通信的套接字时遇到问题.我做了一个简单的线程,它监听连接并创建连接客户端的进程,我的问题是我无法正常连接线程,因为我还没有找到取消socket.accept()的方法 - 调用当我想退出该计划.

我的代码看起来像这样;

class ServerThread( threading.Thread ):

    def __init__(self, queue, host, port):
        threading.Thread.__init__(self)
        self.queue = queue
        self.running = True
        self.hostname = host
        self.port = port

    def run(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.bind((self.hostname, self.port))
        self.socket.listen(1)
        while self.running:
            try:
                conn, address = self.socket.accept()
                process = Process(target=server_slave, args=(conn, address, self.queue))
                process.daemon = True
                process.start()
            except socket.timeout:
                pass

    def stop(self):
        self.running = False
        self.socket.close()
Run Code Online (Sandbox Code Playgroud)

我已经设法通过设置self.setDaemon(True)并退出主程序来关闭程序,将所有内容交给伟大的垃圾收集器 - 但这似乎是一个糟糕的解决方案.我也试过设置socket的超时但是这会导致获取[Errno 35] Resource temporarily unavailable(无论实际的超时,即使我将它设置为年...).

我究竟做错了什么?我是否以愚蠢的方式设计了线程,还是我错过了接受连接的内容?

python sockets multithreading

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

标签 统计

innodb ×1

multithreading ×1

mysql ×1

python ×1

sockets ×1

symlink ×1