Debian8(jessie)编译安装mariadb-10.2.30
在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是数据库学习者,那么本文《Debian8(jessie)编译安装mariadb-10.2.30》就很适合你!本篇内容主要包括Debian8(jessie)编译安装mariadb-10.2.30,希望对大家的知识积累有所帮助,助力实战开发!
实验环境
OS: debian_version_8.11 64位 CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz Mem: 8GB Kernel: 3.16.0-10-amd64 Mariadb: mariadb-10.2.30
简要说明
1、安装包内网中已下载好,此文档中不演示 2、所有的源码包都在/apps/apps_src/ 3、所有的服务安装路径都在/apps/xxxxx 4、官网下载:https://mariadb.org/download/
编译安装过程
1、安装相关依赖包
apt update && apt install cmake g++ bison libncurses5 libncurses5-dev libevent-dev openssl libssl-dev autoconf
2、解压缩下载包
tar zxvf mariadb-10.2.30.tar.gz && cd mariadb-10.2.30/
3、创建运行mysql的用户
groupadd -r -g 306 mysql useradd -r -g 306 -u 306 -s /bin/false -d /dev/null -M mysql
4、查看可编译的选项
官方参考链接:
https://dev.mysql.com/doc/dev/mysql-server/latest/
5、配置选项
cmake . \ -DCMAKE_INSTALL_PREFIX=/apps/mysql \ -DMYSQL_DATADIR=/apps/mysql/data \ -DMYSQL_UNIX_ADDR=/apps/mysql/lock/mysql.sock \ -DSYSCONFDIR=/etc/mysql \ -DWITHOUT_TOKUDB=1 \ -DMYSQL_USER=mysql \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -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_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8 \ -DWITH_EXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_DEBUG=0 \ -DENABLE_PROFILING=1 2> ../mariadb-10.2.30-configure.err
备注: 如果编译失败请先删除目录下CMakeCache.txt,然后重新编译执行。
配置选项说明: -DCMAKE_INSTALL_PREFIX=/apps/mysql #指定安装mysql根目录 -DMYSQL_DATADIR=/apps/mysql/data #指定mysql数据库存放数据的目录 -DMYSQL_UNIX_ADDR=/apps/mysql/lock/mysql.sock #UNIX套接字文件,MySQL的通讯目录 -DSYSCONFDIR=/etc/mysql #指定mysql配置文件目录 -DMYSQL_USER=mysql #mysql用户名 -DWITHOUT_TOKUDB=1 #禁用 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 #禁用 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 #禁用 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 #禁用 -DWITH_MYISAM_STORAGE_ENGINE=1 #启用Myisam存储引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 #启用Memory存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 #启用innobase数据库引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 #启用archive数据库引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 #启用blackhole数据库引擎 -DWITH_READLINE=1 #支持mysql的readline库,提供可编辑的命令行 -DWITH_SSL=system #mysql通讯时支持ssl协议,(安全套接层) -DWITH_ZLIB=system #支持允许使用zlib库,(安全套接层) -DWITH_LIBWRAP=0 #关闭libwrap库,(实现了通用TCP包装的功能,为网络服务守护进程使用) -DMYSQL_TCP_PORT=3306 #指定mysql的监听的端口 -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据,启用加载本地数据 -DDEFAULT_CHARSET=utf8 #设置mysql默认使用utf8字符集,如不指定默认使用latin1西欧字符集 -DWITH_EXTRA_CHARSETS=all #指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集 -DDEFAULT_COLLATION=utf8_general_ci #设定默认字符校对排序规则 -DWITH_DEBUG=0 #禁用debug,默认为禁用 -DENABLE_PROFILING=1 #启用Profiling分析,默认为开启
7.编译执行
make -j 4 2> ../mariadb-10.2.30-make.err
8.安装执行
make -j 4 install 2> ../mariadb-10.2.30-install.err
9.配置全局变量
echo "export PATH=$PATH:/apps/mysql/bin" >> /etc/profile.d/mysql.sh source /etc/profile.d/mysql.sh
10.进入安装目录检查目录并创建创建缺失的目录
mkdir -pv /apps/mysql/{lock,logs,run}
11.从安装目录中复制一份配置模板到/etc目录下
mkdir /etc/mysql cp /apps/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf
12.根据生产环境设定配置文件(内存8G的my.cnf配置)
vim /etc/mysql/my.cnf
#The following options will be passed to all MySQL clients clients [client] port = 3306 socket = /apps/mysql/lock/mysql.sock #The MySQL server [mysqld] port = 3306 socket = /apps/mysql/lock/mysql.sock basedir = /apps/mysql datadir = /apps/mysql/data pid-file = /apps/mysql/run/mysql.pid log-error = /apps/mysql/logs/mysql-error.log user = mysql bind-address=192.168.1.146 skip_name_resolve = 1 skip-external-locking key_buffer_size = 384M max_allowed_packet = 16M table_open_cache = 512 back_log = 600 sort_buffer_size = 8M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 thread_cache_size = 64 query_cache_size = 32M query_cache_limit = 2M tmp_table_size = 64M join_buffer_size = 64M thread_concurrency = 4 ft_min_word_len = 4 explicit_defaults_for_timestamp = true #skip-networking max_connections = 1000 max_connect_errors = 1000 open_files_limit = 65535 transaction_isolation = REPEATABLE-READ log-bin=mysql-bin binlog_format=mixed binlog_cache_size = 64M max_heap_table_size = 8M server-id = 1 expire_logs_days = 30 default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_data_home_dir = /apps/mysql/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /apps/mysql/logs innodb_buffer_pool_size = 4G innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_log_file_size = 1G innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_strict_mode = 0 innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 384M sort_buffer_size = 256M read_buffer = 128M write_buffer = 128M [mysqlhotcopy] interactive-timeout
配置文件说明:
详情请看:MariaDB/MySQL配置文件my.cnf详解
13.根据my.cnf配置文件中目录设定mysql目录权限
chown mysql:mysql /apps/mysql/{data,logs,run,lock}
14.执行用户执行脚本, 安装数据库到数据库存放目录
/apps/mysql/scripts/mysql_install_db --user=mysql --datadir=/apps/mysql/data
15.启动mysqld服务
/apps/mysql/support-files/mysql.server start ps aux | grep mysql
备注:如果启动有报错,可以看下日志报错信息。
tail -n20 /apps/mysql/logs/mysql-error.log
16.执行该命令提高数据库安全性,要先启动mysql服务,主要是用来设定root密码、删除匿名用户、取消远程链接、删除测试数据库等。
/apps/mysql/bin/mysql_secure_installation
17.登录mysql服务器
mysql -uroot -ptest123
18.编写mysql服务脚本加入systemd服务
vim /etc/systemd/system/mysqld.service
[Unit] Description=MariaDB Server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking User=mysql Group=mysql PIDFile=/apps/mysql/run/mysql.pid ExecStart=/apps/mysql/support-files/mysql.server start ExecReload=/apps/mysql/support-files/mysql.server reload ExecStop=/apps/mysql/support-files/mysql.server stop [Install] WantedBy=multi-user.target #按 Esc 键退出编辑模式,输入 :wq 保存并关闭mysqld.service文件。
19.赋予权限设定开机自启动
chmod 754 /etc/systemd/system/mysqld.service systemctl start mysqld && systemctl enable mysqld
今天关于《Debian8(jessie)编译安装mariadb-10.2.30》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于mysql的内容请关注golang学习网公众号!

- 上一篇
- MySQL 自定义函数

- 下一篇
- MySQL函数简介 2
-
- 数据库 · MySQL | 1小时前 |
- MySQL排序优化与性能提升技巧
- 368浏览 收藏
-
- 数据库 · MySQL | 15小时前 |
- MySQL连接池配置与优化方法
- 297浏览 收藏
-
- 数据库 · MySQL | 16小时前 |
- MySQLGROUPBY使用技巧与常见问题
- 306浏览 收藏
-
- 数据库 · MySQL | 18小时前 |
- MySQL缓存优化技巧分享
- 392浏览 收藏
-
- 数据库 · MySQL | 19小时前 |
- MySQL安装到D盘教程及路径设置详解
- 279浏览 收藏
-
- 数据库 · MySQL | 21小时前 |
- MySQL缓存设置及查询作用解析
- 470浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQLcount优化技巧及性能提升方法
- 371浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQLUPDATE替换字段值方法详解
- 292浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL基础:增删改查全教程
- 356浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL建表语法详解与实例教程
- 498浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL中文界面设置方法详解
- 356浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL安装后如何启动和连接
- 233浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 94次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 89次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 104次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 98次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 95次使用
-
- golang MySQL实现对数据库表存储获取操作示例
- 2022-12-22 499浏览
-
- 搞一个自娱自乐的博客(二) 架构搭建
- 2023-02-16 244浏览
-
- B-Tree、B+Tree以及B-link Tree
- 2023-01-19 235浏览
-
- mysql面试题
- 2023-01-17 157浏览
-
- MySQL数据表简单查询
- 2023-01-10 101浏览