锐仕方达猎头公司,seo含义,嘉定广州网站建设,谈谈对网站建设的认识已知MySQL多实例启动命令为#xff1a;
mysqld_safe --defaults-file/data/3306/my.cnf
停止命令为#xff1a;
mysqladmin -uroot -pchang123 -S /data/3306/mysql.sock shutdown
请完成mysql多实例的启动脚本的编写#xff1a; 问题分析#xff1a;
要想写出脚…
已知MySQL多实例启动命令为
mysqld_safe --defaults-file/data/3306/my.cnf
停止命令为
mysqladmin -uroot -pchang123 -S /data/3306/mysql.sock shutdown
请完成mysql多实例的启动脚本的编写 问题分析
要想写出脚本必须对MySQL服务很熟悉。
1单实例
# Mysql启动
mysqld_safe # Mysql停止
mysqld_admin -u root -p Chang123 shutdown# 设置root密码
[rootvm1 scripts]# mysqladmin -uroot password Chang123# 先将mariadb停止
[rootvm1 scripts]# mysqladmin -uroot -pChang123 shutdown# 检查进程是否停止
[rootvm1 scripts]# netstat -atunlp |grep 3306# 再启动mysql
[rootvm1 scripts]# mysqld_safe --usermysql
[1] 11535
[rootvm1 scripts]# 230802 21:49:37 mysqld_safe Logging to /var/log/mariadb/mariadb.log.
230802 21:49:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql# 再检查mysql进程是否已启动
[rootvm1 scripts]# netstat -atunlp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11681/mysqld 先是单实例的启动脚本的编写
[rootvm1 scripts]# cat start_db.sh
#!/bin/bash
#[ -f /etc/init.d/functions ] . /etc/init.d/functions || echo 1usage(){echo “USAGE: $0 {start|stop|restart}exit 1
}if [ $# -ne 1 ]thenusage
fistart() {mysqld_safe --usermysql /dev/null 21 if [ $? -eq 0 ]thenaction start mysql /bin/trueelseaction start mysql /bin/falsefi
}stop() {mysqladmin -uroot -pChang123 shutdown /dev/null 21if [ $? -eq 0 ]thenaction stop mysql /bin/trueelseaction stop mysql /bin/falsefi
}restart() {stopsleep 2start
}if [ $1 start ]thenstart
elif [ $1 stop ]thenstop
elif [ $1 restart ]thenrestart
elseusage
fi 执行结果
[rootvm1 scripts]# netstat -atunlp |grep 3306
[rootvm1 scripts]#
[rootvm1 scripts]# sh start_db.sh start
start mysql [ OK ]
[rootvm1 scripts]# 230802 22:17:56 mysqld_safe Logging to /var/log/mariadb/mariadb.log.
230802 22:17:56 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql[rootvm1 scripts]# sh start_db.sh restart
stop mysql [ OK ]
start mysql [ OK ]
[rootvm1 scripts]# 230802 22:18:19 mysqld_safe Logging to /var/log/mariadb/mariadb.log.
230802 22:18:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql[rootvm1 scripts]#将一些信息都不显示出来
[rootvm1 scripts]# sh start_db.sh start
start mysql [ OK ]
[rootvm1 scripts]# sh start_db.sh stop
stop mysql [ OK ][rootvm1 scripts]# sh start_db.sh restart
stop mysql [ OK ]
start mysql [ OK ][rootvm1 scripts]# netstat -atunlp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13173/mysqld 多实例启动脚本
[rootvm1 scripts]# cat mysql_manage.sh
#!/bin/bash
#
Port3306
MysqlUserroot
MysqlPasswordChang123
CmdPath/usr/local/mysql/bin#start function
start() {if [ netstat -auntlp |grep $Port | wc -l -eq 0 ]thenecho Starting MySQL.../bin/sh ${CmdPath}/mysqld_safe --defaults-fle/data/${Port}/my.cnf 21 /dev/null elseecho MySQL is running...
}#stop function
stop(){if [ netstat -atunlp |grep $Port | wc -l -eq 0 ]thenecho Stopping MySQL...${CMDPath}/mysqladmin -u ${MysqlUser} -p {$MysqlPassword} -S /data/${Port}/mysql.sock shutdownelseecho MySQL is stopped...fi
}#restart function
restart(){echo Restarting MySQL...stopsleep 2start
}case $1 in
start)start;;
stop)stop;;
restart)restart;;
*)echo USAGE: $0 {start|stop|restart}
esac代码说明
1其中使用了case语句。 把这个脚本放到/etc/init.d/目录中实现/etc/init.d/mysqld01 start 启动并通过chkconfig对其设置开机自启动和关闭。
如果自己写脚本也就是放到/etc/init.d目录中作为启动脚本。 在脚本中添加这块内容设置mysql的开机自启动。
# chkconfig: 2345 20 80
# description: Start mysql and stop mysql script.
man chkconfig看看chkconfig的帮助文档。 2345是运行的级别。
20启动优先级
80 停止优先级
你应该能指出descripion的内容。\ 反斜线是换行继续。忽略掉在行前面的空格。 多看man帮助文档。 看看/etc/init.d/rpcbind 需要注意的是数字可设置成不一样的但是要确保启动优先级在rc.d的子目录中不要有冲突。切记。 企业面试题 怎么把自己写的脚本添加到服务里面即可以使用service命令来调用 # chkconfig 2345 21 60 # description: Save and restores system entropy pool for \