位置: 编程技术 - 正文

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用户登录)

  • 招待费增值税税率
  • 计提税费表格
  • 以前年度所得税退税会计分录
  • 经营用的电饭锅有哪些
  • 交易性资产入账金额和入账金额区别
  • 小规模纳税人不开票收入怎么报税
  • 社团组织缴纳的社保
  • 一般纳税人转成小规模的条件
  • 企业滞留发票的产生和处理
  • 小规模纳税人和个体工商户的税收政策
  • 本期已认证但不想抵扣申报表怎么填写
  • 土地增值税预缴政策
  • 进口材料海关到港
  • 会员充值赠送
  • 企业收到供货单位提供的材料,如其价款大于
  • 季度企业所得税计算方法举例
  • 专用发票作废后怎么处理
  • 工资分两次发为什么分两次扣税?
  • 年度汇算清缴怎么填写
  • 免税单位无租使用纳税单位土地
  • 单位装饰
  • 不同税率的产品可以开一张票里吗
  • 生育津贴公司账户怎么维护
  • 代扣代缴境外增值税可以抵扣
  • 房地产开发成本测算套表(全过程)
  • 哪些进项税可以加计抵减
  • 模具维修费做什么费用
  • win10电脑声道怎么设置
  • 10款手机赚钱软件下载
  • 清算期间会计科目
  • php数组函数,选班长
  • 金融公司呆账对当事人有什么影响
  • php二分查找算法两种方法
  • 股权变更怎么缴纳个人所得税
  • php编程计算日期怎么算
  • node.js教程详细
  • 你还没等于几
  • vue网上商城项目
  • 企业年产值与年收入比例
  • mysql binlog是什么
  • 行政事业单位怎么开发票
  • 研发费用的范围和加计扣除比例
  • 应交土地增值税税率
  • 社会团体不属于财政拨款的对象
  • phpcms专题页面模板
  • 织梦怎么采集文章
  • 文化传媒公司介绍
  • 应税销售额税率
  • 发票已交税如何退税
  • 季度所得税申报错误,一定要更改吗
  • 公司收到生育津贴不给员工
  • 公司跟个体户的税收
  • 企业管理理费包括哪些
  • 小规模开具的1%专票 一般纳税人抵扣
  • 应付账款入账金额可以包括哪些内容?
  • 交车辆购置税需要什么材料
  • 财务费用在贷方表示增加还是减少
  • 飞机票退票费报销凭证图片
  • 组织机构代码证和统一社会信用代码的关系
  • 企业注销后账目如何处理
  • 材料人工制造费用是什么成本
  • 房地产企业销售商品房增值税税率
  • 银行承兑到期后怎么兑现
  • 其他综合收益包括留存收益吗
  • rpm包安装的apache可以如何启动
  • 苹果系统装win8
  • linux怎么和window系统共用
  • 为大家详细介绍英语
  • python递归函数详解
  • js声明集合
  • python 继承
  • node用mongodb还是mysql好
  • shell脚本检测文件是否存在
  • 请问木瓜
  • void方法设置断言
  • jquery-easyui-1.3.3
  • 基层税务工作难点重点热点
  • 税务通知书一般什么内容
  • 上海地铁发票可以随便要吗
  • 河南电子发票申请流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设