Guest User

Untitled

a guest
May 16th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. #!/bin/bash
  2. #chkconfig: 35 80 15
  3. #description: mysql daemon
  4. #Source function library.
  5. . /etc/rc.d/init.d/functions
  6. my_port={{getv "port"}}
  7. base_dir={{getv "basedir"}}
  8. conf_file={{getv "conf_file"}}
  9. my_user={{getv "my_user"}}
  10. my_sock={{getv "my_sock"}}
  11. create_user={{getv "create_user"}}
  12. create_password={{getv "create_password"}}
  13. start() {
  14. status
  15. REVAL=$?
  16. if [ $REVAL == 1 ];then
  17. nohup ${base_dir}/bin/mysqld_safe --defaults-file=${conf_file} >/dev/null 2>&1 &
  18. sleep 3
  19. while(true)
  20. do
  21. status
  22. REVAL=$?
  23. if [ $REVAL == 0 ];then
  24. break
  25. else
  26. echo "wait mysql start"
  27. sleep 3
  28. fi
  29. done
  30. else
  31. echo "mysql already running"
  32. fi
  33. }
  34. stop() {
  35. status
  36. REVAL=$?
  37. if [ $REVAL == 0 ];then
  38. ${base_dir}/bin/mysqladmin -u ${my_user} -S ${my_sock} shutdown
  39. sleep 3
  40. while(true)
  41. do
  42. status
  43. REVAL=$?
  44. if [ $REVAL == 1 ];then
  45. break
  46. else
  47. echo "wait mysql stop"
  48. sleep 3
  49. fi
  50. done
  51. else
  52. echo "mysql already stop"
  53. fi
  54. }
  55. status() {
  56. netstat -nltp | grep ${my_port}
  57. REVAL=$?
  58. if [ $REVAL == 0 ];then
  59. echo "mysql is running"
  60. return 0
  61. else
  62. echo "mysql is not running"
  63. return 1
  64. fi
  65. }
  66. init() {
  67. status
  68. REVAL=$?
  69. if [ $REVAL == 1 ];then
  70. if [ ! -d "${base_dir}/data" ]; then
  71. if [ ! -d "${base_dir}/tmp" ]; then
  72. mkdir ${base_dir}/tmp
  73. cd ${base_dir}
  74. echo "mysql begin to init"
  75. ${base_dir}/bin/mysqld --defaults-file=${conf_file} --initialize-insecure --user=mysql
  76. sleep 3
  77. while(true)
  78. do
  79. if [[ -d "${base_dir}/data" && -d "${base_dir}/tmp" ]]; then
  80. chown -R mysql ${base_dir}/.
  81. echo "mysql has been init"
  82. break
  83. else
  84. echo "wait mysql init"
  85. sleep 3
  86. fi
  87. done
  88. else
  89. echo "tmpdir already exists"
  90. fi
  91. else
  92. echo "datadir already exists"
  93. fi
  94. else
  95. echo "mysql already running"
  96. fi
  97. }
  98. clean() {
  99. status
  100. REVAL=$?
  101. if [ $REVAL == 1 ];then
  102. if [ ! -d "${base_dir}/data" ]; then
  103. echo "datadir is not exists"
  104. else
  105. if [ ! -d "${base_dir}/tmp" ]; then
  106. echo "tmpdir is not exists"
  107. else
  108. if [ ! -d "/data/trash" ]; then
  109. mkdir /data/trash
  110. fi
  111. date=`date +"%s"`
  112. mv ${base_dir}/data ${base_dir}/data${date}
  113. mv ${base_dir}/tmp ${base_dir}/tmp${date}
  114. mv ${base_dir}/data${date} /data/trash/
  115. mv ${base_dir}/tmp${date} /data/trash/
  116. if [[ ! -d "${base_dir}/data" && ! -d "${base_dir}/tmp" ]]; then
  117. echo "data&tmp has been moved to /data/trash , remember to clean the trash"
  118. fi
  119. fi
  120. fi
  121. else
  122. echo "mysql is running , can't be cleaned"
  123. fi
  124. }
  125. grant() {
  126. mysql -u ${my_user} -S ${my_sock} -e "create user '${create_user}'@'%' identified by '${create_password}';grant all privileges on *.* to '${create_user}'@'%' identified by '${create_password}';flush privileges;select 'grant success';"
  127. }
  128. case "$1" in
  129. start)
  130. start
  131. ;;
  132. stop)
  133. stop
  134. ;;
  135. restart)
  136. stop
  137. start
  138. ;;
  139. status)
  140. status
  141. ;;
  142. init)
  143. init
  144. ;;
  145. clean)
  146. clean
  147. ;;
  148. recovery)
  149. stop
  150. clean
  151. init
  152. start
  153. ;;
  154. grant)
  155. grant
  156. ;;
  157. *)
  158. echo $"Usage: $0 {start|stop|restart|status|init|clean|recovery|grant}"
  159. RETVAL=2
  160. esac
  161. exit $RETVAL
Add Comment
Please, Sign In to add comment