• 后台运行导入数据库



    这周遇到一个情况:需要将大数据量的sql数据导入到数据库中,由于时间很长,不能一直开着终端连着筋服务器,所以就想到了后台运行进程的方法

    • 其实后台运行方法很简答,nohup命令让进程不挂起,末尾加上&来后台运行。

    • 举例:nohup /opt/haha.sh & 后台运行脚本

    • 数据库导入后台运行:

    • 导入数据库命令:nohup Mysql -uroot -p密码 库名< sql文件地址 &

    • 讲道理没有毛病,但是报错,说不能在终端上显示密码,这样不安全,处理办法:将密码写入数据库配置文件/etc/my.cnf,添加如下内容

    [client]
    user=root
    password=***
    
    • 导入数据库命令:Mysql 库名< sql文件地址 &
    • 后台运行:nohup Mysql 库名< sql文件地址
    • 讲道理是没毛病了,那就关闭终端试一下,重新打开,通过ps -ef查看进程,结果进程关闭了。
    • 我以为nohup不起作用,所以编写了一个死循环脚本,关闭终端后确是可以运行的,所以问题可能出在数据库导入的 < 这个符号。
    • 通过搜索nohup怎么处理 < ,查到一片博客跟我相似问题,他的解决方法是,不能直接关闭终端,而是在nohup命令之后通过exit退出,不然会断掉该进程所对应的session,导致nohup对应的进程被通知一起shurdown。结果他是对的。

    总结

    • 排出多种可能,最后就能找到原因所在。
  • 相关阅读:
    leetcode -- Word Break
    [笔试题]MS 2014
    网络编程之TCP/IP各层详解
    深浅copy
    字符编码的转换
    Bytes类型
    Django之模型层(1)
    Django之模板层
    用Python操作文件
    hash(哈希)是什么
  • 原文地址:https://www.cnblogs.com/xushun/p/11261669.html
Copyright © 2020-2023  润新知