下面本文章给大家介绍两种在centos中安装MariaDB数据库的脚本,希望这两个例子对你会带来帮助哦,祝你成功。
例子1
目前官方最新稳定版是 MariaDB-5.5.35 下载地址:https://downloads.mariadb.org/mariadb/5.5.35/
在编译之前,首先得安装编译工具和其他一些依赖包:
代码如下 |
|
yum groupinstall -y “Developmen Tools”
yum install -y cmake openssl-devel zlib-devel
cd /webapp
wget https://downloads.mariadb.org/mariadb/5.5.35/
groupadd mysql
useradd -g mysql mysql -s /sbin/nologin
mkdir /webapp/mysql
mkdir /usr/local/mysql
chown mysql:mysql /webapp/mysql
chown mysql:mysql /usr/local/mysql
tar -zxvf mariadb-5.5.35.tar.gz
cd /webapp/mariadb-5.5.25
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/webapp/mysql -DSYSCONFDIR=/etc -DWITH_SSL=system -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ZLIB=system -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql
|
配置完成后:
make && make install
其实和编译安装类似,就是选项变为大写的而已。例如:(-DCMAKE_INSTALL_PREFIX=/usr/local/mysql)对应mysql的(–prefix=/usr/local/mysql),其他基本无异。
配置完成后,就执行make进行编译。编译需要好一段时间。然后进行安装 make install 。
初始化还有一些简单配置:
代码如下 |
|
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
cp -p /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –level mysqld 2345 on
chkconfig –add mysqld
echo “datadir = /data/mysql” >> /etc/my.cnf
echo “basedir = /usr/local/mysql” >> /etc/rc.d/init.d/mysqld
echo “datadir = /data/mysql” >> /etc/rc.d/init.d/mysqld
./scripts/mysql_install_db –user=mysql –datadir=/webapp/mysql &
service mysqld start
|
进入数据库:
到此,MariaDB可以正常使用了。
例子2
MariaDB 5.2.10版本,其
2.解压源码包
tar -zxf mariadb-5.1.2.10.tar.gz
3.进入 mariadb-5.2.10(cd mariadb-5.2.10)
编译过程中需要用到一些支持类库只需要yum安装即可
yum install gcc gcc-c++ make #(或者还有其他自己百度搞定,我在编译的过程中只遇到需要这些);
4.配置
代码如下 |
|
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
|
5.
6.
代码如下 |
|
groupadd mysql
useradd -g mysql mysql
cp support-files/my-medium.cnf /etc/my.cnf
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off
ln /usr/local/mysql/bin/mysql /usr/bin/mysql
|
7.修改/sbin/service文件 www.111Cn.net
代码如下 |
|
#!/bin/sh
. /etc/init.d/functions
VERSION="$(basename $0) ver. 0.91"
USAGE="Usage: $(basename $0) < option > | --status-all |
[ service_name [ command | --full-restart ] ]"
SERVICE=
SERVICEDIR="/etc/init.d"
OPTIONS=
if [ $# -eq 0 ]; then
echo "${USAGE}" >&2
exit 1
fi
cd /
while [ $# -gt 0 ]; do
case "${1}" in
--help | -h | --h* )
echo "${USAGE}" >&2
exit 0
;;
--version | -V )
echo "${VERSION}" >&2
exit 0
;;
*)
if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
cd ${SERVICEDIR}
for SERVICE in * ; do
case "${SERVICE}" in
functions | halt | killall | single| linuxconf| kudzu)
;;
*)
if ! is_ignored_file "${SERVICE}"
&& [ -x "${SERVICEDIR}/${SERVICE}" ]; then
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" status
fi
;;
esac
done
exit 0
elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
SERVICE="${1}"
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" start
exit $?
fi
elif [ -z "${SERVICE}" ]; then
SERVICE="${1}"
else
OPTIONS="${OPTIONS} ${1}"
fi
shift
;;
esac
done
if [ -f "${SERVICEDIR}/${SERVICE}" ]; then
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS}
else
echo $"${SERVICE}: unrecognized service" >&2
exit 1
fi
|
编译过程中可能会发生错误,需要安装 gcc gcc-c++ make