位置: 编程技术 - 正文

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

  • 汇算清缴需要做分录吗
  • 小规模纳税人报税时间
  • 小规模纳税人公户的钱怎么转出来
  • 生产型企业出口退税账务处理
  • 弹性预算列表式如何计算
  • 上一年度亏损,本年怎么计算企业所得税
  • 一般纳税人条件要求2020
  • 会计电算化的内容及过程
  • 自来水厂的供水管是什么材质的
  • 出售无形资产计入资产处置损益
  • 发票未到暂估账务处理
  • 企业内部转账应注意什么
  • 分公司独立核算企业所得税缴纳
  • 技术服务出口免关税政策
  • 企业所得税季度申报
  • 广告公司制作警示牌可以开具什么样的发票?
  • 增值税发票季报
  • 出纳能办理涉税实名认证吗?
  • 发生广告费用会计分录
  • 购进的库存商品转自用
  • 小微企业发放工资做账
  • 租赁机器的支出怎么算
  • 所得税年报流程
  • 收入可以用收据入账吗
  • 业务招待费进项税额转出
  • 专票小数点后两位没有显示出来可以认证吗
  • 财务报表第一季度引用的期初数是第四季度还是年报
  • 与存货相关的车间固定资产日常
  • win7纯净版系统
  • 软件开发公司怎么做账
  • 商品房买卖合同面积差3%法律规定
  • 商会收到的会费要交企业所得税
  • wordpress注册界面
  • php 正则表达式
  • mac m1 rosetta编译
  • 残保金是职工薪酬吗
  • 预缴2%
  • 股东退股分利润
  • phpcms手机端
  • 帝国cms适合建什么站
  • 登记银行存款日记账的凭证有哪些
  • 城市道路占用费的收费标准
  • phpsystem函数
  • 房地产返佣
  • sqlite3 top的查询及limit语法介绍
  • 其它应收款的处理程序
  • 发票开具与小票的关系是怎样的
  • 分成收入计入什么科目
  • 所有者权益股东权益区别
  • 进项税转出如何结转
  • 月末无收入如何申请补贴
  • 分销佣金税务账务怎么做
  • 运费少给怎么办
  • 年度所得税费用
  • 汇票与本票有何不同
  • 固定资产清理账户的借方登记的项目有
  • 计提应付票据利息10000的会计分录
  • 调整去年管理费用怎么做分录
  • 伤病假条
  • sqlserver数据库和mysql区别
  • mysql5718解压版安装
  • 启用与禁用的英文
  • soapui安装与配置
  • win8.1评估版
  • win8系统中向日葵软件造成的屏幕亮度无法调节怎么办?
  • linux wc-l
  • win10系统如何禁用u盘
  • window高级启动会怎么样
  • libproj.so
  • android开机自启动显示界面
  • python中pyinstaller
  • Node.js中的事件循环是什么意思
  • 如何删除命令
  • python struct库
  • javascript简明教程
  • js正则regexp
  • android开发的难点
  • 两个fragment之间传值
  • 税务局 协查函
  • 税务局文化建设实施方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设