位置: 编程技术 - 正文

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
  • mac文件权限限制怎么解决
  • 怎样查一个银行的行号
  • 进项税额加计抵减会计分录
  • win11绿屏是什么原因
  • 电脑右下角总是弹出广告
  • 购进的货物
  • php反射使用场景
  • Thinkphp+smarty+uploadify实现无刷新上传
  • 企业借款会计处理
  • 瑞士·劳特布龙嫩小镇
  • phpstudy访问数据库
  • 职工福利费入账依据
  • 如何判断公众号是否可靠
  • 单位发放购物卡违法吗
  • 查询公司对公账户
  • 物流公司增值税发票
  • 所得税视同销售行为有哪些呢?
  • 固定资产有内容限制吗
  • 福利用品可以抵增值税吗
  • 框架合同的印花税
  • 短期借款的其它账户
  • 金税四期对建筑行业有什么影
  • 普通发票和增值税普通发票一样吗
  • 差旅费抵扣增值税税率
  • 差额征税指的是什么税种
  • 小规模企业增值税税收优惠政策2023
  • 收到某单位投入机器一台
  • 勘察设计费取费
  • 账上存货太多实收怎么办
  • 企业收到加盟费怎么开发票
  • 进项税转出补缴增值税 城建税及两费
  • mysql 5.7.12 winx64安装配置方法图文教程
  • mysql必知必会读书心得
  • sqlserver1053怎么解决
  • mysql 临时表
  • ubuntu禁用服务命令
  • centos更新命令
  • thinkpad x230笔记本电脑
  • mac硬盘的常见问题及解决
  • ip地址有冲突怎么查看
  • ahci模式下安装win7蓝屏
  • mac系统怎么共享文件夹
  • win7怎么下到u盘
  • win7如何取消开机启动
  • win8如何禁止电脑自动安装软件
  • windows更新
  • node.js的使用
  • 如何让w10系统运行更快
  • 什么是Shell,shell作用
  • css网站布局实录 pdf
  • dos命令查看磁盘分区
  • 简单的安卓代码
  • js实现隔行换色
  • android手机屏幕采集触摸区域所有点
  • jquery移动端ui框架
  • js如何实现类的继承
  • 中华人民共和国刑法
  • 党风监督员监督和反应情况怎么写
  • 2021年河南医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设