zoukankan      html  css  js  c++  java
  • 后台运行导入数据库


    这周遇到一个情况:需要将大数据量的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】- Longest Substring Without Repeating Characters
    线性规划
    什么是凸规划
    最优化算法 (一)
    香农定理和频谱效率
    虚函数的用法
    QT学习一
    努力!
    Qslider
  • 原文地址:https://www.cnblogs.com/xushun/p/11261669.html
Copyright © 2011-2022 走看看