以下脚本由杨良伟同学一手编写,我只是为了其他文章方便转载才放进自己的文章,以下有附件可以下载,将txt改成sh,赋予执行位,即可执行自动安装,忘转载者标明出处,谢谢。
杨良伟同学blog链接:
http://http//ylw6006.blog.51cto.com/
有兴趣的可以进去看看
下载链接:
mysql5.1.36_auto-install.sh
http://down.51cto.com/data/156552
-----------------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
#function:use this script automatic install mysql.5.1.36...
#author:lw.yang
################################################################################################################################################################################
###:remove default rpm packets if them has been installed...
service mysqld stop
if [ -f /usr/bin/mysqld_safe ];then
echo "Remove default mysql-server RPM packets..."
yum -y remove mysql-server > /dev/null 2>&1
yum -y groupremove "MySQL Database" > /dev/null 2>&1
fi
if [ -f /usr/bin/mysqldump ];then
echo "Remove default mysql-client RPM packets..."
yum -y remove mysql > /dev/null 2>&1
fi
###:add private group and user for mysql,then create data storage directory...
echo "Setting Environment variables..."
userdel -r mysql > /dev/null 2>&1
groupdel -r mysql > /dev/null 2>&1
groupadd -g 27 mysql > /dev/null 2>&1
useradd -g mysql -u 27 -d /dev/null -s /sbin/nologin mysql > /dev/null 2>&1
if [ ! -d /mydata ];then
echo "Creating data directory..."
mkdir /mydata
fi
chown -R mysql.mysql /mydata
###:Download and install mysql...
echo "Download and install mysql..."
if [ ! -d /usr/local/src/tarbag ];then
echo "Creating tarbag diretcory for install..."
mkdir /usr/local/src/tarbag
fi
if [ ! -d /usr/local/src/software ];then
echo "Creating software directory for install..."
mkdir /usr/local/src/software
fi
if [ ! -f /usr/local/src/tarbag/mysql-5.1.36.tar.gz ];then
echo "Download mysql ..."
cd /usr/local/src/tarbag && wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.36.tar.gz
exit 2
fi
if [ ! -d /usr/local/src/software/mysql-5.1.36 ];then
echo "Extract mysql source code ..."
tar -zxvf mysql-5.1.36.tar.gz -C /usr/local/src/software > /dev/null
exit 2
fi
cd /usr/local/src/software/mysql-5.1.36
./configure --prefix=/usr/local/mysql --datadir=/mydata --with-charset=utf8 --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-ssl --with-embedded-server --enable-local-infile --enable-assembler --with-plugins=partition > /dev/null
if [ $? != 0 ];then
echo "Configure mysql failure,Please check compile Environment..."
exit 2
fi
make -j 3 > /dev/null
if [ $? != 0 ];then
echo "Make software failure,please look config.log for more information..."
exit 2
fi
make install > /dev/null 2>&1
if [ $? = 0 ];then
echo "Mysql install complete done ..."
else echo "Something wrong between installation..."
exit 2
fi
###:Initialization mysql...
echo "Initialization mysql..."
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysqld
cp /usr/local/src/software/mysql-5.1.36/support-files/my-medium.cnf /etc/my.cnf
sed -i '38i\max_connection = 2000' /etc/my.cnf
sed -i '39i\datadir = /mydata' /etc/my.cnf
sed -i '40i\basedir = /usr/local/mysql' /etc/my.cnf
sed -i '41i\expire_logs_days = 3' /etc/my.cnf
sed -i '42i\max_binlog_size = 512M' /etc/my.cnf
cp /usr/local/src/software/mysql-5.1.36/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
chown -R mysql.mysql /usr/local/mysql
echo "Modify mysql-server main parameter file..."
/usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/mydata > /dev/null
if [ $? = 0 ];then
echo " Initialization mysql complete done ..."
else echo "Something wrong between Initialization..."
exit 2
fi
chown -R mysql.mysql /usr/local/mysql
cp -rp /mydata/mysql /usr/local/mysql/share/
service mysqld start
-----------------------------------------------------------------------------------------------------------------------------------------------------
目前脚本运行完可能无法正常启动,那就手动初始化一下mysql
# /usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/mydata
WARNING: The host '158LDAP' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h 158LDAP password 'new-password'
Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!
The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/
出现以上提示即初始化成功
# service mysqld start
Starting MySQL. [ OK ]
最后为了方便mysql命令的调用,可以将mysql/bin的路径加入到环境变量中
在/etc/profile文件的 unset i 上一行加入如下内容
pathmunge /usr/local/mysql/bin
并运行下面的命令即可
# source /etc/profile
转载于:https://blog.51cto.com/tonyty163/462674