热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MariaDB-5.5.33数据库编译安装详细过程

MariaDB-5.5.33a编译安装作者:root@\Debian:~#网站:http://www.52d.me好吧,都向MariaDB迁徙了,看最近网上也没有多少关于MariaDB过程。我也来尽一份心力吧,把我编译的过程发出来了。中间不保证有错,至少我编译进,没有错误,编译通过。一键下载解
MariaDB-5.5.33a 编译安装

作者:root@\Debian :~#
网站:http://www.52d.me

好吧,都向MariaDB迁徙了,看最近网上也没有多少关于MariaDB过程。
我也来尽一份心力吧,把我编译的过程发出来了。
中间不保证有错,至少我编译进,没有错误,编译通过。

一键下载解压
curl --progress http://archive.mariadb.org/mariadb-5.5.33a/kvm-tarbake-jaunty-x86/mariadb-5.5.33a.tar.gz | tar xz
建立用户组与用户
# 建立用户组
groupadd mariadb
# 建立用户 / 其实只要有这一条就行 / 它会自动建立用户组
useradd -s /sbin/nologin -g mariadb mariadb
编译配置
cmake \
# 安装根目录
-DCMAKE_INSTALL_PREFIX=/app/mariadb \
# 数据存储目录
-DMYSQL_DATADIR=/app/mariadb/data/ \
# UNIX socket文件
-DMYSQL_UNIX_ADDR=/app/mariadb/tmp/mysqld.sock \
# 默认字符集
-DDEFAULT_CHARSET=utf8 \
# 默认字符校对
-DDEFAULT_COLLATION=utf8_general_ci \
# TCP/IP端口
-DMYSQL_TCP_PORT=3306 \
# * ARCHIVE 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
# * ARIA 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1 \
# * BLACKHOLE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
# * FEDERATEDX 引擎支持
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
# * PARTITION 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \
# * PERFSCHEMA 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
# * SPHINX 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1 \
# * XTRADB 支持
-DWITH_XTRADB_STORAGE_ENGINE=1 \
# * innoDB 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
# * Myisam 引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1 \
# readline库
-DWITH_READLINE=1 \
# 启用加载本地数据
-DENABLED_LOCAL_INFILE=1 \
# 扩展支持编码 ( all | utf8,gbk,gb2312 | none )
-DWITH_EXTRA_CHARSETS=all \
# 扩展字符支持
-DEXTRA_CHARSETS=all
# 已经编译时不被支持参数 / 网上还有人附加在编译参数中的项
# 这一条我也不知道是什么 / 至少我不知道
-DWITH_BIG_TABLES=1
# 配置文件(my.cnf)目录
-DSYSCOnFDIR=/app/mariadb/etc/
# 运行用户
-DMYSQL_USER=mariadb
# 调试模式
-DWITH_DEBUG=0
编译
[ "`cat /proc/cpuinfo |grep 'processor'|wc -l`" = "1" ] && make
[ "`cat /proc/cpuinfo |grep 'processor'|wc -l`" != "1" ] && make -j`cat /proc/cpuinfo |grep 'processor'|wc -l`
编译安装
make install
开机启动
cp support-files/mysql.server /etc/init.d/mariadb
chmod +x /etc/init.d/mariadb
insserv mariadb
配置
# 建立目录
mkdir -p /app/mariadb/etc/
mkdir -p /app/mariadb/data/
mkdir -p /app/mariadb/tmp/
# 复制配置
cp support-files/my-small.cnf /app/mariadb/my.cnf
# 赋权
chown mariadb:mariadb -R /app/mariadb
# 修改my.cnf
sed '/mysqld]/a\pid-file = /app/mariadb/data/mariadb.pid' -i /app/mariadb/my.cnf
sed '/mysqld]/a\datadir = /app/mariadb/data' -i /app/mariadb/my.cnf
sed '/mysqld]/a\basedir = /app/mariadb' -i /app/mariadb/my.cnf
sed '/mysqld]/a\user = mariadb' -i /app/mariadb/my.cnf
sed '/#innodb_lock_wait_timeout = 50/a\log_error = /app/mariadb/data/mariadb.err' -i /app/mariadb/my.cnf
# 查看配置
cat /app/mariadb/etc/my.conf|grep -v '^#'|grep -v '^$'
初始数据库
# 初始数据库
/app/mariadb/scripts/mysql_install_db --user=mariadb --basedir=/app/mariadb --datadir=/app/mariadb/data
# 启动mariadb
/etc/init.d/mariadb start
# 创建目录链接
ln -s /app/mariadb/lib /usr/lib/mysql
ln -s /app/mariadb/include /usr/include/mysql
# 创建执行文件链接
ln -s /app/mariadb/bin/mysql /usr/bin/mysql
ln -s /app/mariadb/bin/mysqldump /usr/bin/mysqldump
ln -s /app/mariadb/bin/myisamchk /usr/bin/myisamchk
ln -s /app/mariadb/bin/mysqld_safe /usr/bin/mysqld_safe
# 管理动态链接库
ldconfig
初始化密码
# 初始化密码
/app/mariadb/bin/mysqladmin -u root password mdbpasswd
# 修改root密码 / 删除初始非 root 的用户 / 删除空密码的root
# 删除test测试库 / 禁止root远程连接权限 / 刷新权限
cat > /tmp/mysql_sec_script< use mysql;
update user set password=password('mdbpasswd') where user='root';
delete from user where not (user='root') ;
delete from user where user='root' and password='';
drop database test;
DROP USER ''@'%';
flush privileges;
EOF
/app/mariadb/bin/mysql -u root -pmdbpasswd -h localhost < /tmp/mysql_sec_script
rm -f /tmp/mysql_sec_script

推荐阅读
author-avatar
mobiledu2502883317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有