0%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| #!/bin/bash if [ `uname -m` == "x86_64" ];then machine=x86_64 else machine=i686 fi
mysqlBasedir=/storage/server/mysql mysqlDatadir=${mysqlBasedir}/data/ mysqlLogdir=/storage/log/mysql mysqlUser=mysql mysqlGroup=mysql
mkdir -p $mysqlBasedir mkdir -p $mysqlDatadir mkdir -p $mysqlLogdir
#如果mysql已安装,删除原有mysql if [ $machine == "x86_64" ];then rm -rf mysql-5.6.30-linux-glibc2.5-x86_64 if [ ! -f mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz ];then wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz fi tar -xzvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.30-linux-glibc2.5-x86_64/* $mysqlBasedir else rm -rf mysql-5.6.30-linux-glibc2.5-i686 if [ ! -f mysql-5.6.30-linux-glibc2.5-i686.tar.gz ];then wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-i686.tar.gz fi tar -xzvf mysql-5.6.30-linux-glibc2.5-i686.tar.gz mv mysql-5.6.30-linux-glibc2.5-i686/* $mysqlBasedir
fi
#添加mysql用户组 groupadd $mysqlGroup #添加mysql用户 ,并制定组为mysql /sbin/nologin意思是用户不允许登录 useradd -g $mysqlGroup -s /sbin/nologin $mysqlUser #安装服务 ${mysqlBasedir}/scripts/mysql_install_db --datadir=$mysqlDatadir --basedir=$mysqlBasedir --user=$mysqlUser
#设置权限 chown -R ${mysqlUser}:${mysqlGroup} $mysqlBasedir chown -R ${mysqlUser}:${mysqlGroup} $mysqlDatadir chown -R ${mysqlUser}:${mysqlGroup} $mysqlLogdir
#把mysql.server放到/etc/init.d 目录下方便使用 \cp -f ${mysqlBasedir}/support-files/mysql.server /etc/init.d/mysqld #脚本里面的这两行在mysql启动文件指定mysql数据库的安装目录和数据目录存放目录 sed -i 's#^basedir=$#basedir='${mysqlBasedir}'#' /etc/init.d/mysqld sed -i 's#^datadir=$#datadir='${mysqlDatadir}'#' /etc/init.d/mysqld
#配置文件 cat > /etc/my.cnf <<END [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M
log-bin=mysql-bin binlog_format=mixed server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqldump] quick max_allowed_packet = 16M
[mysql] no-auto-rehash
[myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy] interactive-timeout END
chmod 755 /etc/init.d/mysqld /etc/init.d/mysqld start #没测试过 $mysqlBasedir/bin/mysqladmin -uroot password 'hhw840129'
|