知识储备
1、MariaDB 源码不支持直接使用 make
进行,需要安装 cmake
编译工具,`cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure -> cmake .
./configure --help -> cmake . -LH or ccmake .
2、指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql # 指定安装目录
-DMYSQL_DATADIR=/data/mysql # 指定数据目录
-DSYSCONFDIR=/etc # 指定配置文件目录
3、默认编译的存储引擎包括:csv、myisam、myisammrg 和 heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
4、若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
# 比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
5、如若要编译进其它功能,如 SSL 等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
6、其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
7、如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean -> rm CMakeCache.txt
开始安装
下面以编译安装 MariaDB 5.5 为例。
1、下载:
$ wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.67/source/mariadb-5.5.67.tar.gz
2、MariaDB 源码不支持直接使用 make
进行,需要安装 cmake
编译工具和开发环境:
$ yum install cmake ncurses-devel openssl-devel libevent-devel jemalloc-devel -y
$ yum groupinstall "Development Tools" "Server Platform Development"
3、创建组和用户以及 MySQL 的数据目录并授权:
$ mkdir /mydata/data -p
$ groupadd -r mysql && useradd -g mysql -r -d /mydata/data mysql
$ chown -R mysql.mysql /mydata/
4、解压:
$ tar xf mariadb-5.5.67.tar.gz
5、进入源码目录,开始编译:
$ cd mariadb-5.5.67
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.67 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
6、安装并创建软链接:
$ make && make install
$ cd /usr/local && ln -s mariadb-5.5.67 mysql
7、配置环境变量并编辑配置文件:
$ echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh && . /etc/profile.d/mysql.sh
$ vim /etc/my.cnf
[mysqld]
datadir=/mydata/data
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/mydata/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
8、初始化数据:
$ /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data
9、拷贝 Service 文件:
$ cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
$ chmod +x /etc/rc.d/init.d/mysqld
10、启动:
$ service mysqld start
Starting MariaDB.200503 20:26:53 mysqld_safe Logging to '/mydata/mysqld.log'.
200503 20:26:53 mysqld_safe Starting mysqld daemon with databases from /mydata/data
. SUCCESS!
11、安全初始化:
$ mysql_secure_installation
我这里设置密码为
123
。
12、测试连接:
$ mysql -uroot -p123
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.67-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
评论区