线上找了无数教程,总结一下:
准备物料:
1,先到 MariaDB官方下载所需的Mariadb源码;
cli下使用 wget https://downloads.mariadb.com/MariaDB/mariadb-10.2/bintar-linux-x86_64/mariadb-10.2.11-linux-x86_64.tar.gz
解压缩 tar zxvf mariadb-10.2.11-linux-x86_64.tar.gz
进入目录 cd mariadb-10.2.11-linux-x86_64
2,解决系统依赖;
yum -y groupinstall Development Tools
yum -y install cmake* ncurse* gnutls* openssl* bison* gcc* zlib* libxml* readline-devel libmcrypt* boost*
3,创建用户\组;
groupadd mariadb
useradd –r –g mariadb –s /bin/false mariadb
useradd -g mariadb -r -M -s /sbin/nologin mariadb
两条语句都可以
4,开始编译
Cmake . –LH //查看相关参数,默认使用cmake . 编译的话,会使用mysql用户
可选参数
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装目录
-DMYSQL_DATADIR=/data/mysql #数据库存储目录
-DSYSCONFDIR=/etc
-DTMPDIR=/usr/local/mysql/tmp # 临时文件存放目录
-DMYSQL_USER=mariadb #配置默认用户
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_MYISAM_STORAGE_ENGINE=1 # Myisam 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 # innoDB 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 # ARCHIVE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 # BLACKHOLE 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 # PERFSCHEMA 引擎支持
-DWITH_FEDERATED_STORAGE_ENGINE=1 # FEDERATEDX 引擎支持
-DWITH_TOKUDB_STORAGE_ENGINE=1 # TOKUDB 引擎支持
-DWITH_XTRADB_STORAGE_ENGINE=1 # XTRADB 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1 # ARIA 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 # PARTITION 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1 # SPHINX 引擎支持
-DWITH_READLINE=1 # readline库若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0其它常用的选项:
-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可视化编译过程
make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install
5,安装后配置
建立目录
mkdir /var/log/mysql 创建日志目录
mkdir /var/run/mysql 创建启动目录
chown –R mysql: /var/log/mysql 修改目录所属权
chown –R mysql: /var/run/mysql 修改目录所属权
编辑环境变量 vi /etc/profile 加入 export PATH=$PATH:/var/local/mariadb/bin 使用source /etc/profile 加载
复制配置文件 cp ./support-files/my-large.cnf /etc/my.cnf
初始化数据库 ./scripts/mysql_install_db –-basedir=/usr/local/mariadb -–datadir=/home/data/mysql –-user=mariadb &
复制启动脚本 cp ./support-files/mysql.server /etc/init.d/mysql
更新权限 chmod +x /etc/init.d/mysql
启动mariaDB /etc/init.d/mysql start
设置自启动
chkconfig --add mysqld
chkconfig mysqld on修改root/@主机 密码
'/usr/local/mysql//bin/mysqladmin' -u root password 'new-password'
'/usr/local/mysql//bin/mysqladmin' -u root -h vm.net password 'new-password'
需要注意的是权限、目录以及用户的对应,可以在cmake中自定义配置参数,例如:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_TCP_PORT=3306
-DWITH_EXTRA_CHARSETS=complex
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLED_LOCAL_INFILE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DENABLED_PROFILING=on
-DWITH_SSL=system
-DWITH_LIBWRAP=0
-DWITH_ZLIB=system
-DENABLED_THREAD_SAFE_CLIENT=on
-DWITH_EMBEDDED_SERVER=on
-DMYSQL_DATADIR=/home/data/mysql/
-DMYSQL_USER=mariadb
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DSYSCONFDIR=/etc
-DENABLE_PROFILING=1
使用以上语句会遇到缺少系统加密组件gnutls的问题,以及在安装gnutls时遇到Libnettle 3.1 was not found.这样的问题。在编译安装完nettle后,配置gnutls还是会遇到同样的问题。
同时还需要使用yum –y install gmp* 安装gmp组件。
需要Libtasn1 4.9以及……无数依赖问题。
参考链接
https://mariadb.com/kb/zh-cn/3028/
https://mariadb.com/kb/zh-cn/installing-mariadb-binary-tarballs/
http://www.lysator.liu.se/~nisse/nettle/nettle.html#Installation
https://www.tuicool.com/articles/3qeuQbB
https://www.quyu.net/info/617.html
http://www.linuxidc.com/Linux/2013-10/91963.htm
https://www.cnblogs.com/taosim/articles/4252982.html
没有评论:
发表评论