Mysql5.1.36 autoinstall.sh
以下腳本由楊良偉同學一手編寫,我只是為了其他文章方便轉載才放進自己的文章,以下有附件可以下載,將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
總結
以上是生活随笔為你收集整理的Mysql5.1.36 autoinstall.sh的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD+DNS安装步骤详解
- 下一篇: 具有全局观的网络拓扑