一. jumbo 安装mysql
1. 安装jumbo
bash -c "$( curl http://jumbo.baidu.com/install_jumbo.sh )"; source ~/.bashrc
具体可查看jumbo官方文档,http://jumbo.baidu.com/
2. 清除旧版 mysql (针对之前使用 jumbo 安装过 mysql 的同学)
jumbo remove mysql
务必摆好安装姿势:
清除掉、清除掉、清除掉 jumbo 目录下所有 mysql 残留目录( etc/mysql、share/mysql、var/lib/mysql 、var/run/mysqld ),以及jumbo根路径下的my.cnf。
3. 安装mysql
jumbo install mysql
安装失败,一般情况都是旧版本文件影响,进行步骤 2 即可
4. 配置 mysql
vim ${JUMBO_ROOT}/etc/mysql/my.cnf
自定义配置修改(记得去掉相应配置项的#注符哦!)
1)端口号:
修改port配置项,默认为3306
2)设置字符集
[mysqld]下添加
character_set_server=utf8
其他参数设置,请同学自行百度.
5. 启动 mysql
sh ${JUMBO_ROOT}/share/mysql/mysql.server start
6.停止 mysql
sh ${JUMBO_ROOT}/share/mysql/mysql.server stop
7. 重启mysql
sh ${JUMBO_ROOT}/share/mysql/mysql.server restart
8. 设置用户
cd ${JUMBO_ROOT}/bin/ && mysqladmin -u root password bid123
9. 用户登录
mysql -uroot -pbid123 -P3307
10. 密码重置
1).在配置文件中 [mysqld] 下添加 skip-grant-tables,保存退出
2).重启 mysql,执行以下命令:
mysql
mysql > use mysql;
mysql > update user set password=password('root') where user='root';
mysql > flush privileges;
mysql > exit;
3).参考步骤 6,停止 mysql 服务
4).在配置文件中 [mysqld] 下删除 skip-grant-tables,保存退出
5).参考步骤 5 ,启动 mysql 服务,妥了
11. 开启远程访问权限
进入 mysql 命令行模式
mysql > use mysql;
mysql > update user set host='%' where host='localhost' and user='root';
mysql > grant all privileges on *.* to 'root'@'localhost' identified by 'root';
mysql > flush privileges;
mysql > exit
(以上摘自内网同学总结,同学总结的很好,被我改的有点惨,看到请轻拍)
二. 监控mysql 是否存活
1. 通过端口
#!bin/bash
#8307 is port of mysql
ret=`netstat -nlt|grep 8307|wc -l`
echo $ret
if [ "$ret" -eq "0" ]
then
yes | rm -r /tmp/
/home/work/.jumbo/share/mysql/mysql.server restart
else
echo "Metric is alive"
fi
以上为我的监控方案。
-----------------------------------------------------------------------------------------
网上摘录的总结的较好的:(http://blog.51cto.com/mofansheng/1703285)
监控MySQL服务是否正常,通常的思路为:检查3306端口是否启动,ps查看mysqld进程是否启动,命令行登录mysql执行语句返回结果,php或jsp程序检测(需要开发人员开发程序)等等。
方法1:监听3306端口
1 2 3 4 5 6 7 8 9 10 |
|
方法2:查看mysqld进程
注意注意:如果使用进程过滤的话,脚本名称如果里面包含mysql的话,脚本执行有坑,切记!!!因为会把脚本也grep了一次,导致结果不准确;
1 2 3 4 5 6 7 8 9 10 11 |
|
执行结果如下:
[root@localhost baby]# sh check_mysql.sh
Starting MySQL SUCCESS!
改名之后执行为正常结果:
[root@localhost baby]# mv check_mysql.sh check_db.sh
[root@localhost baby]# sh check_db.sh
MySQL is running
方法3:双保险,进程和端口都成功才算mysql服务正常
1 2 3 4 5 6 7 8 9 10 11 |
|
4:使用客户端登录mysql执行命令,查看返回结果测试服务是否启动,理论上此方法最可靠。
1 2 3 4 5 6 7 8 9 10 11 |
|
执行结果如下:
[root@localhost baby]# sh check_db_client.sh
MySQL is running