mysql.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. local mysql_pid_dir="/run/mysqld"
  2. local mysql_pid_file=mysql_pid_dir.."/mysqld.pid"
  3. local mysql_data_dir="/var/lib/mysql/data"
  4. local mysql_log_dir="/var/log/mysql"
  5. local mysql_dirs={mysql_pid_dir,mysql_data_dir,mysql_log_dir}
  6. local mysqld="/usr/bin/mysqld"
  7. local mysql_initialize="/usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir="..mysql_data_dir
  8. local task={
  9. desc="MySQL daemon",
  10. pid=mysql_pid_file,
  11. start=function()
  12. _,control=l5.readlink(mysqld)
  13. if control == 2 then
  14. print("mysql kurulu değil!")
  15. result=false
  16. return result
  17. end
  18. -- gerekli dizinlerin kontrolü
  19. for _,dir in ipairs(mysql_dirs) do
  20. _,control=l5.readlink(dir)
  21. if control == 2 then
  22. action("mkdir -p "..dir)
  23. action("chown mysql:mysql "..dir)
  24. end
  25. end
  26. -- ilkleme kontrolü
  27. _,control=l5.readlink(mysql_data_dir.."/mysql")
  28. if control == 2 then
  29. action(mysql_initialize)
  30. end
  31. -- başlatma
  32. start_cmd="/usr/bin/mysqld_safe --user=mysql --datadir="..mysql_data_dir.." --pid-file="..mysql_pid_file.." --log-error="..mysql_log_dir.."/mysql.log".." 2>&1 >/dev/null &"
  33. action(start_cmd)
  34. result=0
  35. return result
  36. end,
  37. stop={
  38. type="pid",
  39. },
  40. status={
  41. type="pid",
  42. },
  43. }
  44. return task