Mysql--编译安装5.7版本
1 安装环境
1)清除以往mysql残留痕迹(新机不用)
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my.conf
rm -rf /var/lib/mysql
2)下载编译工具
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
2 创建mysql用户及mysql目录 并授权
useradd -s /bin/false -M -r mysql
mkdir -p /usr/local/{data,mysql,log}
chown -R mysql.mysql /usr/local/mysql
3 上传软件包并解压(可从官网上或各大开源软件镜像站直接下载)
#下为清华大学开源镜像站的下载链接
#https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.30.tar.gz
tar xvf mysql-boost-5.7.30.tar.gz
4 预编译 编译 安装
#需先进入解压后的目录操作 可用 -C 指定解压目录
cd mysql-5.7.30/ #这里列出一些常用的预编译选项 可选择写入
#详细的预编译选项参见官网
#https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html cmake . -DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DSYSCONFDIR=/etc \ #配置文件存放(默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据目录(含错误日志)
-DINSTALL_MANDIR=/usr/share/man \ #帮助文档
-DMYSQL_TCP_PORT=3306 \ #默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #sock文件位置
-DDEFAULT_CHARSET=utf8 \ #默认字符集
-DEXTRA_CHARSETS=all \ #扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \ #上下查找历史命令
-DWITH_SSL=system \ #使用私钥和证书登录
-DWITH_EMBEDDED_SERVER=1 \ #嵌入式数据库
-DENABLED_LOCAL_SERVER=1 \ #从本地导入数据
-DWITH_INNOBASE_STORAGE_ENGINE=1 #默认的存储引擎 支持外键
cmake . -DWITH_BOOST=boost/boost_1_59_0/ \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DINSTALL_MANDIR=/usr/share/man \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_READLINE=1 \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_SERVER=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1
出现下图所示即表示预编译成功

然后进行编译安装
#预编译完成后进行编译安装 此过程较缓慢 提升服务器配置可加快进度
make && make install
出现下图所示即表示安装成功
一般预编译不出现问题 编译安装也不会出现问题 所以重点在于预编译 这也是编译安装所有服务的难点

5 初始化
初始化后会有系统给定的默认密码 由12位随机字符组成 需复制保存 后续需用这个密码登陆数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

6 修改配置文件(/etc/my.cnf)
#将原有配置文件全删除 写入下列数据
#下列数据路径需与预编译安装时指定的目录一致
[mysqld]
basedir=/usr/local/mysql #指定安装目录
datadir=/usr/local/mysql/data #指定数据存放目录
[client]
socket = /tmp/mysql.sock #sock文件存放位置
7 启动服务(放入后台运行 不然要占一个终端 然后查看端口是否启动)
/usr/local/mysql/bin/mysqld_safe --user=mysql &

8 使用之前保存的密码直接登陆数据库或先修改数据库密码
#登录数据库
/usr/local/mysql/bin/mysql -uroot -p'password' #修改密码
/usr/local/mysql/bin/mysqladmin -uroot -p'oldpassword' password 'newpassword'
9 为mysql设置快捷命令
#建立符号链接
ln -s /usr/local/mysql/bin/* /usr/bin/
10 配置mysql服务管理工具(选做)
#将mysql交给service管理
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #将mysql交给chkconfig管理的开机启动中
chkconfig --add mysqld
chkconfig mysqld on
11 启停(生产环境启动服务使用 mysqld_safe,关闭服务使用 mysqladmin)
#关闭mysql服务
/etc/init.d/mysql stop
mysqladmin -uroot -p -S /var/lib/mysql/mysql.sock shutdown
#启动mysql服务
/etc/init.d/mysql start
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
mysqld --user=mysql &
Mysql--编译安装5.7版本的更多相关文章
- rpm安装MySQL5.5后配置,在centos5上;mysql编译安装在centos6.5上;
[1] 没有/etc/my.cnf: rpm包安装的MySQL是不会安装/etc/my.cnf文件的:处理:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf [2 ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- 2、mysql编译安装
2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...
- mysql 编译安装
mysql 编译安装方式: ```cd /home/oldboy/tools``` 创建 目录 if not have then mkd ...
- centos mysql 编译安装
centos mysql 编译安装 1.安装 创建MySQL用户 sudo useradd mysql 下载MySQL的源码包,我们这里使用的时5.5.18 安装依赖 sudo yum -y inst ...
- Nginx PHP MySql 编译安装
以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...
- Mysql编译安装及优化
采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final) x86_64 1)下载my ...
- mysql编译安装(详细)(转载)
mysql编译安装(详细) 一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- CentOS6编译安装gcc高版本
编译安装gcc高版本 因CentOS中gcc版本仅有4.4,故编译安装gcc高版本. 安装依赖库(如果你已安装过gcc低版本,可跳过这步) yum install glibc-static libst ...
随机推荐
- JavaScript高级程序设计笔记08 对象、类与面向对象编程
对象.类与面向对象编程 对象 一组属性的无序集合 属性 类型 数据属性 value.writable 访问器属性 getter.setter至少有一 定义 .操作符:默认可配置.可枚举.可写(数据属性 ...
- [Flink] Flink(CDC/SQL)Job在启动时,报“ConnectException: Error reading MySQL variables: Access denied for user 'xxxx '@'xxxx' (using password: YES)”(1个空格引发的"乌龙")
1 问题描述 1.1 基本信息 所属环境:CN-PT 问题时间:2023-11-21 所属程序: Flink Job(XXXPT_dimDeviceLogEventRi) 作业类型: Flink SQ ...
- C#中LINQ的使用知多少?LINQ常功能整理,实例源代码解析
LINQ(Language-Integrated Query)是C#语言中的一个强大的查询技术,它提供了一种统一的查询语法,可以用于查询和操作各种数据源,包括集合.数据库.XML等.下面详细描述了LI ...
- 2023第十四届极客大挑战 — MISC WP
Misc方向题解:来自本人 cheekin 请前往"三叶草小组Syclover"微信公众号输入flag获得flag 我的解答: 关注公众号回复就可以得到一张图片,图片隐写zsteg ...
- RabbitMQ高可用集群的搭建部署(Centos7)
高可用集群架构 节点域名 操作系统 RabbitMQ版本 Erlang版本 iamdemo.tp-link.com Centos7.9 3.8.28 23.3-2 iamdemo2.tp-link.c ...
- Vue3+Vite+ElementPlus管理系统常见问题
本文本记录了使用 Vue3+Vite+ElementPlus 从0开始搭建一个前端工程会面临的常见问题,没有技术深度,但全都是解决实际问题的干货,可以当作是问题手册以备后用.本人日常工作偏后端开发,因 ...
- 自定义线程池将异常"吃了"
今天在做项目时,写了一个使用自定义线程池执行远程调用 // 删除购物车信息 corePoolExecutor.submit(() -> { try { cartFeignClient.delet ...
- 组合式api-ref引用子组件、dom元素, defineExpose的使用
和vue2一样,我们有时候希望父组件能够调用子组件中的方法.属性.那么就要用到ref. 然后你会发现,根本调用不了子组件中的方法"sonSayHi",如下图: 原因: 使用
- 数字孪生与VR设备的融合为旅游行业带来革新
数字时代的推动下,旅游行业正迎来一场革命性的变革.数字孪生系统与虚拟现实(VR)的融合为旅游体验带来了全新的可能性.通过数字孪生技术的实时模拟和VR设备的沉浸式体验,旅游行业迎来了全新的变革时代. 数 ...
- Gh0st木马
https://www.secrss.com/articles/50209 Gh0st是一种远程控制软件,它可以在被攻击的计算机上运行并允许攻击者远程控制该计算机.为了查找Gh0st的进程.文件.注册 ...