mysql依赖包_mysql 自动安装脚本,记得提前安装依赖包

该脚本实现自动安装mysql,若检测到脚本目录包含mysql-5.5.20.tar.gz安装文件,则执行解压安装,若没有安装文件,则从网上下载再安装。

#MySQL define path variable 定义参数

M_FILES=mysql-5.5.20.tar.gz

M_FILES_DIR=mysql-5.5.20

M_URL=http://down1.chinaunix.net/distfiles/

M_PREFIX=/usr/local/mysql/

#Install Mysql DB server 开始安装

echo -e "\033[32mcheck if $M_FILES is exist.\033[1m"

sleep 3

if [[ ! -f $M_FILES  ]] ; then

echo -e "\033[32m $M_FILES is not exist. will download it \033[1m"

wget -c $M_URL/$M_FILES

sleep 5

elif [[  -f $M_FILES  ]] ; then

echo -e "\033[32m $M_FILES is  exist.  will install it \033[1m"

sleep 5

fi

tar -xzvf $M_FILES && cd $M_FILES_DIR &&yum install cmake -y ;

cmake . -DCMAKE_INSTALL_PREFIX=$M_PREFIX \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_BIG_TABLES=1 \

-DWITH_DEBUG=0

#判断编译结果

if [ $? -eq 0 ];then

make && make install

/bin/cp support-files/my-small.cnf /etc/my.cnf

/bin/cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

#mysql 初始化

cd $M_PREFIX

useradd mysql

chown -R mysql.mysql $M_PREFIX

$M_PREFIX/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=$M_PREFIX

ln -s $M_PREFIX/bin/mysql /usr/bin

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

chown -R mysql.mysql /data/mysql

/etc/init.d/mysqld restart

$M_PREFIX/bin/mysqld_safe --user=mysql &

echo -e "\n\033[32m-----------------------------------------------\033[0m"

echo -e "\033[32mThe $M_FILES_DIR Server Install Success !\033[0m"

else

echo -e "\033[32mThe $M_FILES_DIR Make or Make install ERROR,Please Check......\033[0m"

exit 0

fi

以下为编译安装mysql5.5版本遇到的一些问题

1 .CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.

办法:yum install -y gcc gcc-c++

2 .另外,再安装可能提示如下错误:

[ 84%] Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o

/tmp/lamp/mysql-5.5.20/sql/mysqld.cc: In function ‘void handle_connections_sockets()’:

/tmp/lamp/mysql-5.5.20/sql/mysqld.cc:5131: 错误:从类型‘size_socket*’到类型‘socklen_t*’的转换无效

/tmp/lamp/mysql-5.5.20/sql/mysqld.cc:5131: 错误:  初始化‘int accept(int, sockaddr*, socklen_t*)’的实参 3

/tmp/lamp/mysql-5.5.20/sql/mysqld.cc:5198: 错误:从类型‘int*’到类型‘socklen_t*’的转换无效

/tmp/lamp/mysql-5.5.20/sql/mysqld.cc:5198: 错误:  初始化‘int getsockname(int, sockaddr*, socklen_t*)’的实参 3

make[2]: *** [sql/CMakeFiles/sql.dir/mysqld.cc.o] 错误 1

make[1]: *** [sql/CMakeFiles/sql.dir/all] 错误 2

办法:清除之前的编译信息

[root@localhost mysql-5.5.20]#make clean

[root@localhost mysql-5.5.20]# rm CMakeCache.txt

3. 安装成功,但是mysql服务起不了

Starting MySQL...The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

检查日志发现

tail -n 30 /var/log/mysqld.log

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

看来是初始化的问题,

执行初始化脚本

mysql_install_db –usrer=mysql datadir=/usr/local/mysql

还是不行,检查日志:

tail /var/log/mysqld.log

mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

ll /tmp/mysql.sock 发现没有 mysql.sock文件,

原来默认在/var/lib/mysql/mysql.sock

所以创建软链接

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

/etc/init.d/mysqld restart 重启mysql

完成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值