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。结果他是对的。

    总结

    • 排出多种可能,最后就能找到原因所在。
  • 相关阅读:
    Golang之排序算法
    Golang之一个简单的聊天机器人
    golang之流程控制(注意点)
    golang之指针
    vs code中自动添加注释插件koroFileHeader
    stack栈、heap堆的说明图
    c语言中的数据类型的最大最小值
    数组问题:a与&a有的区别
    STM32F10x之NVIC
    大小端的另一种测试方法
  • 原文地址:https://www.cnblogs.com/xushun/p/11261669.html
Copyright © 2011-2022 走看看