mysql5.7.25源码安装_源码编译安装 mysql5.7.25
以前最烦就是源码编译安装mysql5.7 ,原因无它 — 很麻烦,但最近因学习需要避免不了,主要介绍在centos7 下源码编译安装mysql5.7 。
安装
安装依赖包
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
下载相应源码包
mysql5.7 编译安装需要boost 库,这里官网下载含boost的源码包
这里提供下载地址
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
添加用户
useradd -s /sbin/nologin mysql
建立所需目录并更改所有者为mysql
mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql/data
将下载好的mysql 解压到/usr/local/mysql 目录下
mkdir -p /usr/local/mysql && tar -zxvf mysql-boost-5.7.25.tar.gz -C /usr/local/mysql/
切换到/usr/local/mysql 目录下,编译安装
cd /usr/local/mysql/mysql-5.7.25 && cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost && make && make install
配置
编辑/etc/my.cnf ( 如果没有则创建)
我这边的一个配置文件内容如下
[client]
port = 3306
socket = /dev/shm/mysql.sock
[mysqld]
port = 3306
socket = /dev/shm/mysql.sock
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /run/mysql.pid
log_error = /data/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1024M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
performance_schema_max_table_instances = 1000
explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log_bin=mysql-bin
binlog_format=mixed
server_id = 232
expire_logs_days = 10
early-plugin-load = ""
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_buffer_pool_size = 128M
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M
以上配置内容非必须,可依据实际情况,做相应的调整!
把安装目录用户和组更改为mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql/data
把数据库数据目录用户和组更改为mysql ( 数据库数据目录:/data/mysql/data),方法同上!
注:/data/mysql/data目录下一定要为空才行
初始化mysql
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
注:到这一步很容易出问题,在初始化的时候一定要加上面的参数,而且在执行这一步操作前/data/mysql/data 这个目录必须是空的;在这里指定的basedir 和 datadir 目录必须要和/etc/my.cnf 配置的目录一直才行。
拷贝可执行配置文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
注:有些网友文章在这一步中会写到从/usr/local/mysql/support-files 这个目录复制my-default.cnf 到/etc/下作为my.cnf 配置文件,我这里没有这个文件,所以直接在配置环节,自己配置了一个my.cnf文件。
启动
systemctl start mysqld
注:这一步也是很容易出问题的地方,当这里出现问题的时候,不要慌,看mysql 错误日志的内容,一般根据mysql 错误日志的提示都能很好的解决问题。
如果Starting MySQL.. ERROR! The server quit without updating PID file, 可以修改my.cnf 修改pid文件目录为 /tmp/mysql.pid
修改环境变量,在/etc/profile 中新增一行
PATH=/usr/local/mysql/bin:$PATH
保存退出
source /etc/profile
测试连接
mysql -h localhost -uroot -p
无需密码即可连接成功
设置开机自启动
systemctl enable mysqld
---配置MySQL可远程访问:---------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -h localhost -uroot -p
Grant all privileges on *.* to 'root'@'%' identified by '---newPwd---' with grant option;
flush privileges;
调试过程:
rm -rf /data/mysql/data
mkdir -p /usr/local/mysql && chown -R mysql:mysql /usr/local/mysql
mkdir -p /data/mysql/data && chown -R mysql:mysql /data/mysql/data
touch /dev/shm/mysql.sock && chown mysql:mysql /dev/shm/mysql.sock && chmod 777 /dev/shm/mysql.sock
touch /run/mysql.pid && chmod 777 /run/mysql.pid && chown mysql:mysql /run/mysql.pid
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
mysql -h localhost -uroot -p
Grant all privileges on *.* to 'root'@'%' identified by '---newPwd---' with grant option;
update mysql.user set authentication_string = password("---newPwd---") where user = "root";
select Host, User, authentication_string from mysql.user;
flush privileges;
quit;
systemctl start mysqld
systemctl status mysqld
systemctl restart mysqld
ps -ef | grep mysql
mysqld --defaults-file="F:\WorkSoftWare\mysql\mysql-5.7.23-winx64\bin\my.ini" --console --skip-grant-tables
mysql5.7.25源码安装_源码编译安装 mysql5.7.25相关推荐
- PostgreSQL源码学习(一)编译安装与GDB入门
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 PostgreSQL源码学习(一)编译安装与GDB入门 前言 一.安装PostgreSQL 1.获取源码 2.配置 3.编译 3.安装 ...
- linux安装源文件出现错误,编译安装源码时出现错误的解决方法
由于软件更新速度比较快,所以我们经常需要自己动手去编译安装一个软件,但是编译安装时难免不出现错误,像LAMP,LNMP在好多平台我都是手动编译的,也出现过不少错误,以下总结编译安装出现错误时的解决方法 ...
- ubuntu14.04 nginx php编译安装,Ubuntu 14.04 编译安装 Nginx
在Ubuntu 14.04下编译安装 Nginx过程笔记. 下载源码包 nginx 地址: http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到 ...
- linux rsync yum安装,Linux安装yum安装rsync 、Linux编译安装最新版rsync
Loading... # Linux安装yum安装rsync .Linux编译安装最新版rsync ## 针对CentOS采用 yum 安装 ### 安装 ``` yum install rsync ...
- mysql5.6.39编译安装_源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!...
1.切换到src目录 cd /usr/local/src/ 2. 下载mysql免编译二进制包 免编译的mysql二进制包5.6源码包: wget http://mirrors.163.com/mys ...
- mysql 5.7.14编译安装_源码编译安装mysql-5.7.14-阿里云开发者社区
1.下载并上传 mysql-5.7.14.tar.gzview plain tar -zxf msql-5.7.14.tar.gz yum -y install gcc gcc-c++ ncurses ...
- mysql 安装_源码安装mysql
源码安装mysql 什么是源码 #! /bin/bash echo 'hello'高级语言 ➡️机器码01001001 源码安装mysql逻辑 1.源码包 ⬇ 2.预编译 1.检查当前的操作系统. 2 ...
- python源码包安装_源码包安装python2.7.6和ipython1.2.1
1. CentOS 6.X的安装就不多说 2.安装包Python2.7.6 和Ipython的下载官网都有,自行下载. 注意,不要去卸载系统自带的python程序,在CentOS6.X中python为 ...
- mysql odbc 源码安装_源码安装 MySQL Community Server 5.6.26
由于CentOS 6 现在yum源的mysql-server 版本还是5.1 的,已经比较老了 况且后续服务可能需要mysql的头文件, yum安装的没有找不到头文件,索性就编译安装. 1,直接下载源 ...
最新文章
- 解决libuuid.so.1 no version information available问题
- SAP Spartacus 因为 refresh token 刷新令牌过期后显示用户重新登录页面的逻辑
- 华为鸿蒙话题作文800字,关于鸿蒙OS 华为最高层发布最新通知:统一口径-华为,智能手机,鸿蒙...
- js笔记(六)事件、正则
- synchronized原理_synchronized 关键字底层原理
- 计算机启动类型bios,UEFI还是Legacy BIOS?如何确定Windows启动类型
- Spring----JmsTemplate
- 《Jquery实战》第3版:译者序 Frank Xu Lei
- 微信小程序开发需要了解的三个内核技术
- 实战篇—关于某产品的切分细则
- php与mysqli,如何通过PHP与MySQLi保持联系
- C#.net的常用函数列表
- 【光学】基于matlab涡旋光与球面波的干涉【含Matlab源码 597期】
- python画心形代码大全_七夕,程序员的表白代码
- 黑马程序员, html css javascript 前端笔记 pink老师教程
- 电脑ps4,Windows电脑玩PS4游戏,索尼:先来升级Win10吧
- Scheme 编程语言(1)介绍
- java开发常用软件下载地址及教程。
- Cocos2d-x 3.2 lua飞机大战开发实例(三)道具的掉落,碰撞检测,声音,分数,爆炸效果,完善游戏的功能细节
- 办公邮箱哪个比较好,企业电子邮箱官网在哪里?
热门文章
- 一文搞懂 Python 的 import 机制
- Python函数传参方式超级大汇总
- Python的Mixins机制
- Python属性访问拦截器的用法
- 【编译原理】让我们来构建一个简单的解释器(Let’s Build A Simple Interpreter. Part 1.)(python/c/c++版)(笔记)
- 函数式编程是啥玩意?map() reduce()(reduce()函数将数字列表转换为x进制数字)闭包、装饰器、偏函数
- python numpy.r_ 与 numpy.c_的用法
- Concurrent包下的常用并发类和普通类之间的区别
- 获取浏览器窗口_全面认识区块链浏览器--看穿币圈的蒙蔽与欺骗!
- vue 添加完数据后刷新页面_vue form 表单提交后刷新页面的方法