Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7592640
  • 博文数量: 368
  • 博客积分: 9600
  • 博客等级: 上校
  • 技术积分: 18875
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-01 00:00
文章分类

全部博文(368)

文章存档

2017年(9)

2016年(19)

2015年(3)

2014年(6)

2013年(8)

2012年(78)

2011年(66)

2010年(135)

2009年(44)

分类: Mysql/postgreSQL

2012-04-10 15:36:43

    因为经常会涉及到部署mysql到各个环境(正式、性能、测试等),因此将安装步骤写成shell脚本,减少重复的工作   
    下面是一个自动化安装mysql 5.1.63的脚本,贴上来,大家可以下载my.cnf文件解压后和脚本放统一目录下,执行安装脚本就可以了。
做一下备忘,脚本内容如下:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. echo "-----------------------start install mysql----------------------"
  3. yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel libtool*
  4. mkdir -p /data/dbdata
  5. if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then
  6. echo "adding user mysql"
  7. /usr/sbin/groupadd mysql
  8. /usr/sbin/useradd -g mysql mysql
  9. else
  10. echo "mysql user is exist"
  11. fi

  12. wget
  13. echo "tar xzvf mysql-5.1.63.tar.gz"
  14. tar xzvf mysql-5.1.63.tar.gz
  15. cd mysql-5.1.63
  16. echo "configuring mysql,please wait-----------------"
  17. ./configure '--prefix=/usr/local/mysql' '--localstatedir=/data/dbdata/' '--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock' '--with-charset=utf8' '--with-extra-charsets=complex' '--with-pthread' '--enable-thread-safe-client' '--with-ssl' '--with-client-ldflags=-all-static' '--with-mysqld-ldflags=-all-static' '--with-plugins=partition,federated,innobase,csv,blackhole,myisam,innodb_plugin,heap,archive' '--enable-shared' '--enable-assembler'

  18. if [ $? -ne 0 ];then
  19. echo "configure filed ,please check it out!"
  20. exit 1
  21. fi

  22. echo "make mysql, please wait for 20 minutes"
  23. make
  24. if [ $? -ne 0 ];then
  25. echo "make filed ,please check it out!"
  26. exit 1
  27. fi

  28. make install

  29. chown -R mysql:mysql /usr/local/mysql
  30. chown -R mysql.mysql /data/dbdata/

  31. /usr/local/mysql/bin/mysql_install_db --user=mysql

  32. cp ../my.cnf /etc/my.cnf

  33. cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
  34. chkconfig --add mysqld
  35. chkconfig --level 2345 mysqld on

  36. echo "mysql starting"
  37. /etc/rc.d/init.d/mysqld start
  38. if [ $? -ne 0 ];then
  39. echo "mysql start filed ,please check it out!"
  40. else
  41. echo "mysql start successful,congratulations!"
  42. fi

my.cnf的压缩附件如下:
 my.rar  
阅读(12413) | 评论(8) | 转发(3) |
给主人留下些什么吧!~~

changejava2014-09-17 12:48:21

现在mysql 的data目录一般都是独立挂载一个分区磁盘吗?

这个脚本有几个问题:

一个yum 源配置。建议加上更适合新手。
二个是wget用的是网络源,要求主机在因特网上。
三个是防火墙的是怎么控制3306 端口的?

学习了,编译安装更高效 更稳定。

飞鸿无痕2012-04-19 14:44:31

kerlion: 这个脚本没有配置参数,不好客户化,呵呵!!我一般有在头部或一个单独的文件里设置一些基本参数。.....
配置参数忘记贴上来了,呵呵,是把那个配置文件放到安装目录就行了,脚本会自动拷贝。谢谢提醒。

kerlion2012-04-19 11:57:31

这个脚本没有配置参数,不好客户化,呵呵!!我一般有在头部或一个单独的文件里设置一些基本参数。

RogerZhuo2012-04-12 13:11:29

天的星星: Mysql自动备份的sql脚本,楼主知不知道怎么写?.....
,我也加一个,也要一份来看看。各有所长。谢谢

天的星星2012-04-11 17:39:20

Mysql自动备份的sql脚本,楼主知不知道怎么写?