红联Linux门户
Linux帮助

Ubuntu14下制作绿色版MariaDB

发布时间:2016-06-08 10:51:12来源:linux网站作者:七侠镇莫小贝

Ubuntu14下MariaDB常规的安装方法是:apt install mariadb-server。

绿色版MariaDB的好处是,在相同操作系统环境下,解压到任意目录就可以使用,所有东西都在一个目录里,不需要安装配置,带数据和用户,不像常规方法安装后配置、数据、库、二进制文件东一块西一块。

制作绿色版MariaDB的关键,主要是相关目录的配置,服务启动方法,以及如何绕过一些坑儿。


制作过程:


1.去官网(https://downloads.mariadb.org/)下载Linux对应的tar.gz的包(不要选Ubuntu下的deb包,这个是需要安装的),解压,配置my.cnf,执行安装(这里说的安装是指初始化数据库)。

具体步骤见脚本:0_install_madb.sh

#!/bin/bash 
# https://downloads.mariadb.org/

basepath=$(cd `dirname $0`; pwd) 
echo 当前目录:$basepath 

tar zxvf  mariadb-*.tar.gz 
mv  mariadb-10.1.14-linux-x86_64 madb 
cd madb 

basepath=$(cd `dirname $0`; pwd) 
echo MARIADB_HOME: $basepath 

mkdir mysql 
mkdir log 
mkdir tmp 
cp support-files/my-large.cnf ./my.cnf 
cp ../libaio.so.1 ./lib/ 

export LD_LIBRARY_PATH=./lib 
./scripts/mysql_install_db --defaults-file=$basepath/my.cnf --user=root --basedir=$basepath --datadir=$basepath/mysql 

这一步,有个坑儿1:就是libaio.so.1库文件。这个文件是在其他按常规方法安装MariaDB的机器上/lib/x86_64-linux-gnu/目录下复制过来的。

坑儿2::--defaults-file=$basepath/my.cnf 参数要放在前面!


2.启动:start_mysql.sh

#!/bin/bash 

basepath=$(cd `dirname $0`; pwd) 
echo 当前目录:$basepath 

cd madb 
basepath=$(cd `dirname $0`; pwd) 
echo MARIADB_HOME: $basepath 

export LD_LIBRARY_PATH=./lib 

nohup bin/mysqld --defaults-file=$basepath/my.cnf --basedir=$basepath --datadir=$basepath/mysql --user=root --log-error=$basepath/log/error.log --pid-file=$basepath/log/mysqld.pid --socket=$basepath/log/mysqld.sock &  

keywords="mysqld" 
ps -ef|grep "$keywords"|grep -v grep 

这里用nohup让MariaDB在后台运行。

注意:--defaults-file=$basepath/my.cnf 参数要放在前面!


3.修改root口令:1_repassword.sh

#!/bin/bash 

basepath=$(cd `dirname $0`; pwd) 
echo 当前目录:$basepath 
cd madb 
cd bin 
#./mysql -uroot -p --socket=../log/mysqld.sock 

./mysqladmin -u root password 'passwor123' --socket=../log/mysqld.sock 

echo "root密码已经被修改为password123" 

注意,mysqladmin要指定--socket参数。


4.如果需要本地连接,方法是:con2mysql.sh

#!/bin/bash 

basepath=$(cd `dirname $0`; pwd) 
echo 当前目录:$basepath 

cd madb 
cd bin 
./mysql -uroot -p --socket=../log/mysqld.sock 

这里同样要指定--socket参数。


5.测试:

把madb目录打包复制到其他未安装MariaDB的Ubuntu14上,解压到任意目录,运行start_mysql.sh,看看是否启动成功。

MySQL按这个方法也是可以的,这里未测试。


本文永久更新地址:http://www.linuxdiyf.com/linux/21344.html