位置: 编程技术 - 正文

Linux系统下自行编译安装MySQL及基础配置全过程解析(linux 自启)

编辑:rootadmin

推荐整理分享Linux系统下自行编译安装MySQL及基础配置全过程解析(linux 自启),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux自动化命令,linux自动执行命令,linux自动化,linux系统自启动在哪里设置,linux 自动运行命令,linux自毁,linux自动执行程序,linux系统自启动在哪里设置,内容如对您有帮助,希望把文章链接给更多的朋友!

安装依赖:

CentOS:

Ubuntu:(使用ubuntu下面有不少需要root权限,请注意)

添加MySQL系统用户

提前建立好相关目录

下载MySQL源代码:

配置

配置释义:

-DCMAKE_INSTALL_PREFIX=/usr/local/server/mysql-5.6. 设置安装目录-DMYSQL_DATADIR=/data/mysql 设置数据库存放目录-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 设置UNIX socket 目录-DMYSQL_USER=mysql 设置运行用户-DDEFAULT_CHARSET=utf8 设置默认字符集,默认latin1-DEFAULT_COLLATION=utf8_general_ci 设置默认校对规则,默认latin1_general_ci-DWITH_INNOBASE_STORAGE_ENGINE=1 添加InnoDB引擎支持-DENABLE_DOWNLOADS=1 自动下载可选文件,比如自动下载谷歌的测试包-DMYSQL_TCP_PORT= 设置服务器监听端口,默认-DSYSCONFDIR=/data/etc 设置my.cnf所在目录,默认为安装目录

更多参数执行 # cmake . -LH 或者查看官方说明

Note:

执行过程中会出现:

解决方法:cd mysql目录下面会发现有一个source_downloads目录,需要解压unzip gmock-1.6.0.zip,然后再重新执行上述配置过程。当然你也可以去掉-DENABLE_DOWNLOADS=1这个选项,不编译谷歌的测试包也没有什么问题,但是之前的某些版本会出现无法编译的问题。

编译安装

建立链接文件,方便以后使用和升级:

设置权限:

初始化数据库

这时候会出现以下警告,下面配置my.cnf会解决这个问题详情请查看 MySQL 5.6 中 TIMESTAMP 的变化

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).配置启动项目:

修改安装目录下my.cnf,部分参数需要结合实际情况进行修改

被注释掉的部分语句,需要结合业务和硬件资源进行修改,所以先占位,使用默认值即可。my.cnf文件中不能出现拼写错误,否则,接下来启动会出现很多意想不到的错误,如果出现无法启动请参看:mysql-error.log文件。权限设置不当也会导致启动失败。

启动前,再次确认一遍权限:

很有可能现在my.cnf的权限不是mysql,同时检查一下/etc/my.cnf是否存在,如果存在则删除!!!

Linux系统下自行编译安装MySQL及基础配置全过程解析(linux 自启)

启动mysql:

添加环境变量

安全设置(设定初始密码,移除匿名用户,移除测试数据库):

添加开机启动

CentOS:

Ubuntu:

配置须知:

MySQL有大量可以修改的配置选项,通常只需要把基本的项配置正确,应该将更多的时间花在schema的优化、索引上,以及查询设计上。正确地配置MySQL的基本配置项后,再花力气去修改其他配置选项的收益通常就比较小了。过度优化的服务器导致的潜在风险很大,容易频繁崩溃、运行缓慢。MySQL大多数默认配置选项已经是最佳配置了,所以最好不要做太多的改动,上文设置的参数对于大多数人已经够多了。没有一劳永逸的配置,随着数据库内数据、用户数量的变化,过一段时间后,可以有选择地调整数据库的配置。基本配置选项详解:

socket和pid_file 文件如果不指定位置,放在默认编译位置,在不同的MySQL版本里可能会导致一些错误

设定默认存储引擎,创建表的时候最好显式进行存储引擎的配置

InnoDB最重要的两个选项为缓冲池大小innodb_buffer_pool_size和 日志文件大小innodb_log_file_size,默认值一般都太小。

如果大部分表都是InnoDB表,InnoDB缓冲池的设置或许比其他任何东西都需要内存。InnoDB并不仅仅缓存索引:它还会缓存数据、自适应哈系索引、插入缓冲(Insert Buffer)、锁,以及其他内部数据结构。InnoDB还使用缓冲池来帮助延迟写入,合并多个写入操作,一起顺序写回。总之,InnoDB严重依赖缓冲池,必须分配足够内存。

Note:缓冲池越大,预热和关闭都需要很长时间。

InnoDB使用日志来减少事务提交的开销。因为日志已经记录了事务,就无须在每个事务提交时把缓冲池的胀快刷新到磁盘中。InnoDB用日志把随机I/O变成顺序I/O。一旦日志安全写到磁盘,事务就持久化了。如果断电,InnoDB可以重放日志并且恢复已经提交的事务。整体日志大小受控于innodb_log_file_size和innodb_log_file_in_group两个参数之乘积。一般需要设置几百MB甚至上GB。作为经验法则,一般日志文件全部大小,应该足够容纳服务器一小时的活动内容。

缓冲池大小设置方法:从服务器总内存开始减去操作系统占用内存和其他服务占用内存(如果还有其他服务的话)减去MySQL自身需要内存,例如为每个查询操作分配一些缓冲。减去足够让操作系统缓存InnoDB日志文件的内存,至少是足够缓存最近经常访问的部分。再减去一些可以缓存二进制日志的最后一部分,以防止复制产生了延迟,备库可能读取主库上旧的二进制日志文件,给主库内存造成压力。减去其他MySQL缓冲和缓存需要的内存,如MyISAM键缓存(key_buffer_size),或者查询缓存(query cache)处以%,向下取舍一个合理值。

Note:设置不需要很精确,而且宁可谨慎,而不要设置过大,如果设置少了%可能只产生很小的影响,但是如果大了%则可能造成很严重的问题:内存交换、磁盘抖动、内存耗尽和死机。

MyISAM自身只缓存索引,不缓存数据(依赖操作系统缓存数据)。如果大部分为MyISAM表,就应该分配较大key_buffer_size。再分配多大内存前,首先了解一下,MyISAM占用了多大的空间,肯定不需要分配比需要缓存的索引数据还大的内存(有时候为数据量扩增预留一些,会设置比较大)。有两个方法计算索引大小:使用SQL语句,查询INFORMATION——SCHEMA表的INDEX_LENGTH字段,把他们相加即可。

使用的UNIX系统,则使用以下命令

键缓存需要存储多大的值?不要超过索引总大小,也不要超过为操作系统缓存保留的总大小。取两者较小值。

缓冲区使用率计算,通过SHOW STATUS和SHOW VARIABLES命令查看以下变量:

如果服务器运行很长一段时间之后,还是没有使用完所有缓冲键,就可以把缓冲键调小一点。

键缓冲命中率从经验上来讲,每秒未命中次数更有用,假定一个磁盘每秒可以产生个随机读,每秒5次缓存未命中则不会导致I/O繁忙,每秒次则可能导致I/O繁忙。计算公式:

设定默认字符集和编码

以下选项设定仅使用IP来链接MySQL服务器,省略了DNS查询时间阅读材料: was known as table_cache in MySQL 5.1.2 and earlier.table_open_cache应该设置足够大,避免总是重新打开和解析表定义。如果Open_tables的值每秒变化很大,那么table_open_cache可能设置偏小。这个值从max_connections的倍开始设置比较好,但是,大部分情况下不要超过.

如果在段时间内不断有错误链接,比如:权限错误,应用配置出错等。客户端达到max_connect_errors设定次数,就会被加入黑名单,无法连接,直到再次刷新主机缓存。(如何操作?)可以有效防止暴力破解密码。

在典型的Linux系统上我们把open_files_limit设置的尽可能大。现代操作系统中打开文件句柄开销都较小。如果这个参数设置不够大,会出现经典的号错误:”too many open files”。

linux下 root 登录 MySQL 报错的问题 最近在centOS7上,通过yum安装了mysql,安装成功后,使用root登录,出现了如下报错:ERROR():Accessdeniedforuser'root'@'localhost'(usingpassword:NO)mysql版本为:Ve

Mysql5.7修改root密码教程 版本更新,原来user里的password字段已经变更为authentication_string版本更新缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。

详解MySQL的用户密码过期功能 PaymentCardIndustry,即支付卡行业,PCI行业表示借记卡、信用卡、预付卡、电子钱包、ATM和POS卡及相关的业务。PCIDSS,即PCI数据安全标准(PaymentCardIndustryDat

标签: linux 自启

本文链接地址:https://www.jiuchutong.com/biancheng/319741.html 转载请保留说明!

上一篇:MySQL页面访问统计及排名情况(mysql 网页用户界面)

下一篇:linux下 root 登录 MySQL 报错的问题(linux登录root用户登录)

  • 汽车加油增值税发票
  • 资金账户托管协议
  • 纳税人性质怎么改
  • 资产几百亿真的有那么多钱吗?
  • 一般纳税人简易征收最新政策2023
  • 直线法计提折旧的公式预计净残值
  • 企业走账的会计处理
  • 资本回收系数怎么求
  • 原始凭证审核的内容
  • 工地水电包公包料的细节
  • 股东补亏资金
  • 受托软件开发不转让著作权的账务处理
  • 个体生产经营所得税税率2023
  • 收到原未计入应收项目的交易性金融资产的利息
  • 印花税应税凭证填是还是否
  • 前期物业管理公司
  • 工业企业采购原材料
  • 服务费计入什么收入
  • 增值税发票过期未抵扣怎么办
  • 个体户需要交钱吗
  • 资产负债表中的固定资产是原值还是净值
  • 怎么计提企业所得税在哪里知道计提多少
  • php中session什么意思
  • 企业定率征收的税率是多少
  • 土地增值税案例题库
  • 企业接受捐赠的税务处理
  • 支付境外培训费代扣啥税
  • 动销率怎么看
  • 资产负债表中的货币资金怎么算
  • vue backbone
  • NovelAi + Webui + Stable-diffusion本地配置
  • php5魔术方法
  • 去年的所得税计提多了怎么做分录
  • 建设工程施工合
  • 日常费用报销表格
  • 固定资产报废如何记账
  • 不缴纳增值税的收入需要缴纳水利税吗
  • phpcms 1064错误的解决办法
  • 详解PostgreSQL 语法中关键字的添加
  • 出口货物的报关时间为货物运抵海关
  • 非财政补助结余分配属于什么科目
  • 采购人员差旅费为什么不计入成本
  • 股东捐赠资产要纳税吗
  • 现金流量表的内部结构怎么算
  • 销售人员的销售额是工作绩效的重要指标
  • 增值税加计扣除怎么算举例
  • 免租期可以退房吗
  • 会计学中管理费用是什么
  • 无息的银行承兑汇票
  • 总公司和分公司如何分离
  • 资产负债表里包括应付利息吗
  • 公司汽车购置税怎么交
  • 固定资产折旧的影响因素
  • 公司工会经费怎么花不违规
  • 短期投资怎么记账
  • Advanced Pagination for MySQL(mysql高级分页)
  • foxmail反应慢的原因
  • freebsd操作命令
  • 让windows10蓝屏
  • ubuntu命令行中文乱码怎么解决
  • linux如何kill进程
  • 从五方面解析Linux防火墙框架问题
  • win7无法打开windows功能
  • 怎么用linux运行c程序
  • windows图片锁屏
  • win7打开软件总提示错误怎么解决
  • android app 源码
  • 详细的收藏
  • vue组件精讲
  • unity如何导入资源文件
  • angular.js
  • 原生js实现ajax步骤
  • JavaScript电子时钟倒计时
  • 详解九章算法
  • adb shell命令
  • 地税局书记是什么级别
  • 云南发票网站
  • 湖南国税网上营业厅
  • 注册一个信息咨询公司需要什么
  • 2016年营改增房屋租赁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设