Debian11源码安装mysql5.7

#!/bin/bash# 安装依赖
apt-get update && apt-get install -y wget make gcc g++ cmake bison libncurses5-dev libssl-dev libtool pkg-config> /dev/null
# 安装包所在目录
packages="/usr/local/src"
# 数据目录
datadir="/hskj/mysql"
# pid文件
pidname=`hostname`.pid
# 默认使用root用户安装
# 创建mysql用户
create_user (){if id -u "mysql" >/dev/null 2>&1; thenecho "mysql user has been existed."elseaddgroup --system mysqladduser --system --no-create-home --disabled-login --ingroup mysql mysqlfi
}install_mysql (){# 创建数据目录mkdir -p $datadirchown -R mysql:mysql $datadircd $packageswget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.39.tar.gz# tar xf mysql-boost-5.7.39.tar.gzcd mysql-5.7.39echo "configuring mysql,please wait-----------------"cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/hskj/mysql/ \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \-DENABLE_DOWNLOADS=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8mb4 \-DDEFAULT_COLLATION=utf8mb4_general_ci \-DWITH_SSL=yes \-DWITH_BOOST=boostif [ $? -ne 0 ];thenecho "configure failed ,please check it out!"exit 1fiecho "make mysql, please wait for 20 minutes"make -j 12if [ $? -ne 0 ];thenecho "make failed ,please check it out!"exit 1fimake installchown -R mysql:mysql /usr/local/mysqltouch /var/log/mysqld.logchown mysql:mysql /var/log/mysqld.logmkdir /var/lib/mysqlchown -R mysql:mysql /var/lib/mysqlcp ./support-files/mysql.server /etc/init.d/mysqldchmod u+x /etc/init.d/mysqld# 初始化后/usr/local/mysql/bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/hskj/mysql --user=mysqlif [ $? -eq 0 ];thenecho "initialize successful ! "fi
}set_service (){# 设置mysql.service,便于systemd管理
cat << EOF > /lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
PIDFile=$datadir/$pidname
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=$datadir/$pidname
# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
EOF
}check_status (){
systemctl daemon-reload && systemctl enable mysqld
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
echo "接下来你需要作的是:"
echo "1.更新/etc/my.cnf配置文件"
echo "2.确认可以成功启动mysql服务"
echo "3.最后还需要执行安全加固操作:/usr/local/mysql/bin/mysql_secure_installation"
}create_user
install_mysql
set_service
check_status

 附录一份配置文件:

/etc/my.cnf

[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set = utf8[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
character-set-server = utf8
collation-server = utf8_general_ci
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log_timestamps=SYSTEMbasedir         = /usr/local/mysql
datadir         = /hskj/mysql
skip-external-locking
skip-name-resolve
default-storage-engine = InnoDB
back_log = 2048
secure_file_priv=''max_connections = 1024
max_connect_errors = 256
max_allowed_packet = 64M
table_open_cache = 2048
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 64M
join_buffer_size = 512K
max_heap_table_size = 256M
tmp_table_size = 256M
tmpdir = /dev/shm
ft_min_word_len = 8
bulk_insert_buffer_size = 64M
thread_cache_size = 16384
thread_stack = 512K
key_buffer_size = 8G
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 15G
myisam_recover_options = DEFAULTserver-id = 2122log-bin=/hskj/mysql/mysql-bin
binlog_format=mixed
binlog_cache_size = 4M
max_binlog_size = 1024M
expire-logs-days = 3
slow_query_log = 1
long_query_time = 20
slow_query_log_file=/hskj/mysql/slow_query.log
log-error = /var/log/mysqld.log
net_read_timeout=200
net_write_timeout=300innodb_data_file_path = ibdata1:12M:autoextend
innodb_buffer_pool_size = 6G
innodb_buffer_pool_instances = 8
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 75
innodb_thread_concurrency = 0
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_io_capacity = 1600 
innodb_flush_method = O_DIRECT
innodb_strict_mode = 1
innodb_purge_threads = 1
innodb_change_buffering = all
transaction_isolation = REPEATABLE-READ
explicit_defaults_for_timestamp=truejoin_buffer_size = 64M
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_dump_pct = 40
innodb_sort_buffer_size = 32M
innodb_print_all_deadlocks = 1innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128[mysqldump]
quick
max_allowed_packet = 64M[mysql]
no-auto-rehash
default-character-set = utf8[myisamchk]
key_buffer_size = 1024M
sort_buffer_size = 1024M
read_buffer = 32M
write_buffer = 32M[mysqlhotcopy]
interactive-timeout[mysqld_safe]
open-files-limit = 65535
default-character-set = utf8

如果对你有帮助,一块也是爱

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1534582.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

解决Docker镜像不可下载

使用国内可信的镜像中心 可信国内镜像网址&#xff1a;https://hub.atomgit.com/ 点击镜像仓库 搜索想要的镜像 按如图所示&#xff0c;即可查看对应的版本 点击复制&#xff0c;即可下载使用 缺点&#xff1a; 可用的镜像相比于docker官方量少 并且&#xff0c;获取的镜像名字…

文献速递 | E3泛素连接酶PELI2介导STING信号激活的阈值设定

自从2013年cGAS被发现&#xff0c;cGAS-STING通路在检测和应对病毒和细菌感染等外部威胁和癌症发展等内部威胁中的作用已经越来越多的被提及。cGAS-STING通路几乎无处不在&#xff0c;它可以监测细胞质中的dsDNA&#xff0c;而dsDNA是病原体感染、细胞损伤和癌症等多种威胁的危…

OM6626国产低功耗蓝牙对比NRF52832/NRF52810

OM6626 是一款超低功耗的蓝牙soc 主要特性&#xff1a; 支持BLE5.3支持SIG Mesh支持2.4G长包主频64Mhz&#xff0c;80KB RAM主要应用在esl电子价签&#xff0c;IoT模组、CGM、高报告率HID设备 PUM特点 1.71~3.6v供电电压1秒间隔广播平均电流&#xff1a;9uA&#xff1b;1秒间…

会议室占用【python实现】

题目来自此 思路见代码随想录合并区间 def main():import astmeetings ast.literal_eval(input())meetings.sort(keylambda x:x[0])result [meetings[0]]for meeting in meetings:if meeting[0] < result[-1][1]:result[-1][1] meeting[1]else:result.append(meeting)pr…

轨到轨运算放大器

轨到轨并不一定是指输出轨到轨&#xff0c;也有可能是输入轨到轨&#xff1a; 例如LM358不是轨到轨运放&#xff0c;输出信号电压是VCC - 1.5v &#xff0c; 如果采用锂电池供电&#xff0c;量取锂电池的电压&#xff0c;输出电压等于锂电池的3.7 - 1.5V&#xff0c;这样电压区…

下一代 AI 医疗:知识图谱RAG + 多智能体,听医生的话没前途,让医生听你的话才是正道!

下一代 AI 医疗&#xff1a;知识图谱RAG 多智能体&#xff0c;听医生的话没前途&#xff0c;让医生听你的话才是正道&#xff01; 医疗算法趋势现代 AI 医疗算法问题医学影像算法的局限医疗知识图谱的问题基于最本质循证医学实现人类级因果推理摆脱LLM概率性输出 嘘&#xff0…

【二叉树遍历算法应用】------补录

0.二叉树结点的链式存储结构 #include<stdio.h> #include<stdlib.h> #include<stdbool.h>typedef char TElemType;//树中元素基本类型为char类型//二叉树结点链式存储结构&#xff08;二叉链表&#xff09; typedef struct BiNode {TElemType data;//数据域…

【面试干货】软件测试面试题库

我把软件测试面试的整个题库都搬来啦&#xff0c;面试能拿下80%&#xff0c;剩下就看你满不满意公司的开价咯。以下答案都是我自己写的&#xff0c;大家根据自己的经历稍作改动&#xff0c;答案仅供参考哦&#xff01;题库持续更新&#xff0c;需要PDF版可以点击文末小卡片领取…

牛耕分解+形态学分割 全覆盖路径规划(二)Part1. 分割

书接上文&#xff1a;牛耕分解形态学分割 全覆盖路径规划&#xff08;一&#xff09; 前置文章1&#xff1a;房屋区域分割算法 Morphological Segmentation 前置文章2&#xff1a;牛耕覆盖算法 Boustrophedon Coverage Path Planning 项目地址&#xff1a;ipa320 / ipa_cove…

2.Jmeter安装配置,核心目录详情,组件和作用域

一、Jmeter安装配置以及核心目录详情 Jmeter基于java语言来开发&#xff0c;java需要jdk环境。 1.安装jdk并且配置jdk的环境变量。 2.jmeter只需要解压就可以使用了。 3.在D:\apache-jmeter-5.5\bin目录下双击jmeter.bat文件就可以启动使用了 backups&#xff1a;自动备份的目录…

开放混合 数据驱动 Cloudera的商业AI布局

8月7日在新加坡揭幕的Cloudera EVOLVE24大会&#xff0c;是全球系列活动的第一站&#xff0c;此后还将在全球多个国家陆续举行。大会从亚太地区起步&#xff0c;也彰显了Cloudera对亚太市场的重视。“亚太地区已经成为我们业务增长最快的区域。在混合云环境之下&#xff0c;越来…

rust + bevy 实现小游戏 打包成wasm放在浏览器环境运行

游戏界面 代码地址 github WASM运行 rustup target install wasm32-unknown-unknown cargo install wasm-server-runner cargo run --target wasm32-unknown-unknowncargo install wasm-bindgen-cli cargo build --release --target wasm32-unknown-unknown wasm-bindgen --…

海报生成用什么软件好?小白看这里

想要让你的信息在人群中脱颖而出吗&#xff1f;一张精心设计的海报无疑是最佳选择。 无论是宣传活动、展示作品还是装饰空间&#xff0c;海报都能以视觉的力量抓住人们的眼球。 但海报制作软件哪个好呢&#xff1f;别急&#xff0c;这里有五个超实用的海报制作软件&#xff0…

再次进阶 舞台王者 第八季完美童模全球赛代言人【赵御涵】赛场+秀场超燃合集!

7月20-23日&#xff0c;2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上&#xff0c;一位才能出众的少女——赵御涵迎来了她舞台生涯的璀璨时刻。 代言人——赵御涵&#xff0c;以璀璨童星之姿&#xff0c;优雅地踏上完美童模盛宴的绚丽舞台&#xff0c;作为开…

如何对离线数仓和准实时数仓进行精准把控?

数仓是指将企业中各个业务系统产生的数据进行汇总、清洗、转化和整合&#xff0c;以便为企业提供决策支持和数据分析的存储和管理系统。 离线数仓和准实时数仓&#xff0c;这两种数据仓库模式&#xff0c;各有其特点&#xff0c;根据其特点和适用的应用场景选择合适的仓库模式…

汇编实现从1加到1000(《X86汇编语言 从实模式到保护模式(第2版》) 第135页第2题解答)

题目: 编写一段主引导扇区程序,计算从1加到1000的和,并在屏幕上显示结果 输出结果: 代码: jmp near start text db 123...1000 start:mov ax,0x07c0mov ds,ax ;数据段从主引导区开始mov ax,0xb800mov es,ax ;显存地址从B8000物理地址开始mov si,text ;si指向text的第…

2024 年 .NET 高效开发精选实用类库

目录 前言 1、Entity Framework Core 2、Newtonsoft.Json 3、AutoMapper 4、HttpClient 5、Serilog 6、Hangfire 7、xUnit 8、OxyPlot 9、Task Parallel Library (TPL) 10、Elasticsearch.NET 和 NEST 总结 最后 前言 在平时开发中&#xff0c;好的类库能帮助我们…

华火10号店隆重开业,千城万店打造增长新引擎

风吹洛阳城&#xff0c;花开盛唐梦&#xff01;9月11日&#xff0c;相约在洛阳&#xff0c;在时光、空间与浪漫的交错中&#xff0c;华火10号店盛大开业。此次开业将为洛阳市民提供领先行业的绿色厨电产品&#xff0c;营造高端化、体验化、智慧化的门店氛围&#xff0c;打造极致…

说说synchronized的锁升级过程

在 JDK 1.6之前&#xff0c;synchronized 是一个重量级、效率比较低下的锁&#xff0c;但是在JDK 1.6后&#xff0c;JVM 为了提高锁的获取与释放效&#xff0c;,对 synchronized 进行了优化&#xff0c;引入了偏向锁和轻量级锁&#xff0c;至此&#xff0c;锁的状态有四种&…

echarts 3D地图

通过echats echats-gl 实现的3D地图页面。 先上效果图: 1.通过外边js引入方式,引入必要的js压缩文件 <script src="/static/vue-v2/vue.js"></script> <script src="/static/assets/echarts-v5/echarts.min.js"></script> &l…