【MySql】开机自动启动mysql服务

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 设置开机启动mysql作为服务器使用的linux 会执行/etc/rc.d/rc3.d 目录下的所有脚本[root@rac4 rc3.d]# ll S*lrwxrwxrwx 1 root root 23 09-08 03:15 S00microcode_ctl -> .
设置开机启动mysql
作为服务器使用的linux 会执行/etc/rc.d/rc3.d 目录下的所有脚本
[root@rac4 rc3.d]# ll S*
lrwxrwxrwx 1 root root 23 09-08 03:15 S00microcode_ctl -> ../init.d/microcode_ctl
lrwxrwxrwx 1 root root 22 09-08 03:14 S02lvm2-monitor -> ../init.d/lvm2-monitor
....省略....
lrwxrwxrwx 1 root root 11 09-08 03:14 S99local -> ../rc.local
lrwxrwxrwx 1 root root 21 09-08 03:18 S99modclusterd -> ../init.d/modclusterd
lrwxrwxrwx 1 root root 15 09-08 03:18 S99ricci -> ../init.d/ricci
lrwxrwxrwx 1 root root 16 09-08 03:15 S99smartd -> ../init.d/smartd
[root@rac4 rc3.d]# 
首先了解一下在rc3.d下面的脚本的执行规则:
1 如果以字母S开头,执行时Linux会给它传递一个start参数;
2 如果以字母K开头,则会传递stop参数;
3 字母后面的数字,表示这个脚本的启动顺序;
知道了基本原理,接下来就是

1 编写脚本
cat automysql.sh 
#!/bin/bash
#created by yangql @2011-12-30 
#for auto start mysql service 
case "$1" in
'start')
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf &
;;
'stop')
/usr/bin/mysqladmin -uroot  -h127.0.0.1 -P3306 shutdown
;;
'restart')
/usr/bin/mysqladmin -uroot  -h127.0.0.1 -P3306 shutdown
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf &
;;
esac
exit 0

2 赋予权限
chmod 755 automysql.sh

3 将脚本设置为软链接,这样便于维护,启动和关闭只需要一个 automysql.sh 脚本就可以了!
[root@rac4 rc3.d]# ln -s /etc/init.d/automysql.sh  /etc/rc.d/rc3.d/S64mysql
[root@rac4 rc3.d]# ln -s /etc/init.d/automysql.sh  /etc/rc.d/rc3.d/K20mysql

4 测试:
[root@rac4 rc3.d]# reboot
Broadcast message from root (pts/1) (Fri Dec 30 20:01:03 2011):
The system is going down for reboot NOW!
[root@rac4 rc3.d]# 
Last login: Fri Dec 30 19:44:18 2011 from 10.13.90.1
[root@rac4 ~]# service mysql status
MySQL running (3138)                                       [确定]

5 如果一个服务器上有多个端口对应的mysql数据库服务,可以这样写:
#! /bin/bash

case "$1" in
'start')
/usr/bin/mysqld_safe --defaults-file=/etc/my3301.cnf &
/usr/bin/mysqld_safe --defaults-file=/etc/my3302.cnf &
/usr/bin/mysqld_safe --defaults-file=/etc/my5001.cnf &
/usr/bin/mysqld_safe --defaults-file=/etc/my5002.cnf &
;;
'stop')
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P3301 shutdown
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P3302 shutdown
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P5001 shutdown
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P5002 shutdown
;;
'restart')
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P3301 shutdown
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P3302 shutdown
/usr/bin/mysqld_safe --defaults-file=/etc/my3301.cnf &
/usr/bin/mysqld_safe --defaults-file=/etc/my3302.cnf &

/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P5001 shutdown
/usr/bin/mysqladmin -uroot -p123456  -h127.0.0.1 -P5002 shutdown
/usr/bin/mysqld_safe --defaults-file=/etc/my5001.cnf &
/usr/bin/mysqld_safe --defaults-file=/etc/my5002.cnf &

;;
esac
exit 0
小结:
 这里介绍一个配置流程,所编写的脚本不具有健壮性!需要进一步修改,切勿使用在生产环境!!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
关系型数据库 MySQL
MySQL 服务正在启动 MySQL 服务无法启动解决办法
MySQL 服务正在启动 MySQL 服务无法启动解决办法
236 0
|
关系型数据库 MySQL
mysql服务无法启动的问题
mysql服务无法启动的问题
204 0
mysql服务无法启动的问题
|
关系型数据库 MySQL
MySQL四种启动方式(转载)
废话不多说了,直奔主题了。 mysql的四种启动方式: 1、mysqld 启动mysql服务器:./mysqld --defaults-file=/etc/my.
1118 0
|
MySQL 关系型数据库 数据库
|
关系型数据库 MySQL
|
关系型数据库 MySQL 容器
|
关系型数据库 MySQL Shell
|
MySQL 关系型数据库