源码安装mariadb
环境配置为:CentOS Linux release 8.1.1911 (Core)
这里以mariadb-10.2.32为例
Wget http://ftp.heanet.ie/mirrors/mariadb//mariadb-10.2.32/source/mariadb-10.2.32.tar.gz
建议下载到本地,通过工具传到系统中
1、检查环境:是否安装过数据库以及3306端口
关闭防火墙
systemctl stop firewalld
关闭selinux
2、安装环境必要的包
yum install bison* zlib-devel libcurl-devel libarchive* boost- devel gcc gcC-C++ cmake ncurses-devel gnutls-devel libxml2-devel openssI- devel libevent-devel libaio-devel
创建mysql用户,家目录使用默认地址
创建数据存放地
更改所属组和所属用户
3、Cmake编译安装
进入解压文件目录
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldb -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
解释一下:
-DCMAKE_INSTALL_PREFIX是指定安装的位置
-DMYSQL_DATADIR是指定MySQL的数据目录,安装目录和数据目录都可以自定义设置
-DSYSCONFDIR是指定配置文件所在的目录,一般都是/etc
-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,后面那些参数都是可选的,可以加也可以不加
如果执行中发生了错误,运行命令 rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也无法正确安装
直接安装会报一个CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage这个错误,是缺少make包,使用yum -y install make 安装一下
cmake过程中可能会出现这个警告,可以不用管,警告信息如下:
使用make && make install编译安装,时间很长
安装的时候出现错误,这是因为硬盘空间不足,给硬盘扩容,扩容后重新运行,错误信息如下:
4、添加路径
生成文件到/data/mysqldb指定用户为mysql
拷贝配置文件到/etc/my.cnf,拷贝服务软件到/etc/init.d***意路径)
启动程序,并查看3306端口是否开启
使用mysql登录进入
5、使用数据库脚本设置密码
使用密码登录系统