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按这个方法也是可以的,这里未测试。