Mysql 编译安装部署

Mysql 编译安装部署

环境:

172.20.26.198(Centos7.6)   源码安装Mysql-5.7

大概步骤如下:

1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar 到/usr/src 目录下

2、安装依赖

3、cmake

4、make && make install 

5、cp support-files/mysql.server my.cnf ,编辑my.cnf文件,添加数据目录及参数

6、创建/data/mysql57目录,并授权mysql可写权限,创建mysql用户

7、初始化 /usr/local/mysql57/bin/mysqld --initialize --user=mysql --

datadir=/data/mysql57 \

--basedir=/usr/local/mysql57/

8、cp support-files/mysql.server /etc/init.d/mysqld ,将启动脚本拷贝到/etc/init.d目录下,命名为mysqld,并检查脚本是否有执行权限

9、启动mysql 服务  /etc/init.d/mysqld57 start

10、配置环境变量

11、登录及管理数据库

具体操作如下:

1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar  #到/usr/src 目录下,并解压

[root@localhost ~]# cd /usr/src/

[root@localhost src]# ll

总用量 0

drwxr-xr-x. 2 root root 6 4月  11 2018 debug

drwxr-xr-x. 2 root root 6 4月  11 2018 kernels

[root@localhost src]#rz             #上传mysql-5.7.28.tar.gz

Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护

[root@localhost src]#rz    #上传 boost_1_59_0.tar

[root@localhost src]# ll       #查看mysql-5.7.28.tar.gz 和 boost_1_59_0.tar已完成上传

[root@localhost src]# tar xf boost_1_59_0.tar.gz   #解压 boost_1_59_0.tar 文件

[root@localhost src]# mv boost_1_59_0 /usr/local/boost   #将解压后的boost_1_59_0

目录移动到/usr/local/boost

[root@localhost src]# tar xf mysql-5.7.28.tar.gz   #解压mysql-5.7.28.tar.gz

[root@localhost src]# cd mysql-5.7.28

[root@localhost mysql-5.7.28]# ll

2、安装依赖:

[root@localhost src]#yum install gcc ncurses-devel libaio bison gcc-c++ git

cmake ncurses-devel openssl openssl-devel -y

3、在/usr/src/mysql-5.7.28    #目录下,执行cmake 命令进行预编译

[root@localhost mysql-5.7.28]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \

> -DMYSQL_UNIX_ADDR=/data/mysql57/mysql.sock \

> -DMYSQL_DATADIR=/data/mysql57 \

> -DSYSCONFDIR=/usr/local/mysql57 \

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3307 \

> -DWITH_XTRADB_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_PARTITION_STORAGE_ENGINE=1 \

> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

> -DWITH_EXTRA_CHARSETS=1 \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DEXTRA_CHARSETS=all \

> -DWITH_BIG_TABLES=1 \

> -DWITH_DEBUG=0 \

> -DENABLE_DTRACE=0 \

> -DDOWNLOAD_BOOST=1 \

> -DWITH_BOOST=/usr/local/boost

4、make && make install  进行编译和安装,根据机器配置高低,决定所需时间长短,一般在半个小时左右

[root@localhost mysql-5.7.28]# make && make install     

成功完成make && make install  安装。

5、拷贝配置文件,cp support-files/mysql.server my.cnf ,编辑my.cnf文件,添加数据目录及参数

[root@localhost mysql57]# cp support-files/mysql.server my.cnf   添加以下数据到my.cnf中

[mysqld]

basedir=/usr/local/mysql57/

datadir=/data/mysql57/

port=3306

pid-file=/data/mysql57/mysql.pid

socket=/data/mysql57/mysql.sock

[mysqld_safe]

log-error=/data/mysql57/mysql.log

6、创建/data/mysql57目录,并授权mysql可写权限,创建mysql用户

[root@localhost mysql-5.7.28]# mkdir -p /data/mysql57

 [root@localhost mysql57]# useradd -s /sbin/nologin mysql

[root@localhost mysql57]# chown mysql . /data/mysql57/

[root@localhost mysql57]# chown -R mysql. /data/mysql57/

[root@localhost mysql57]# ll /data/mysql57 -d        

drwxr-xr-x 2 mysql mysql 6 12月 26 15:26 /data/mysql57

7、初始化

进到/usr/local/mysql57目录下

[root@localhost mysql57]# /usr/local/mysql57/bin/mysqld --initialize --user=mysql --datadir=/data/mysql57 \ --basedir=/usr/local/mysql57/

因为初始化的时候选择的是“--initialize”,所以初始化完成后会生成一个随机密码,在最后一行,记得记录下来,如:AUCd3=fhb8f5,登录后修改密码,(如果设置为 --initialize-insecure,这样默认密码为空)

8、将启动脚本拷贝到/etc/init.d目录下,命名为mysqld

[root@localhost mysql57]# cp support-files/mysql.server /etc/init.d/mysqld  

[root@localhost mysql57]# ll /etc/init.d/mysqld    #检查脚本是否有执行权限

检查3306端口是否被占用

9、启动mysql 服务,检查3306端口

 [root@localhost mysql57]# /etc/init.d/mysqld start

10、配置环境变量

当前环境变量

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@localhost ~]#

[root@localhost ~]# echo “export PATH=/usr/local/mysql57/bin:$PATH” >> /etc/profile

   [root@localhost ~]# source /etc/profile    #保存后,使环境变量生效

11、登录及管理mysql

[root@localhost ~]# mysql -uroot -pAUCd3=fhb8f5

登录后修改mysql密码,源码安装带初始密码的,使用alter来改密码

alter user user() identified by "123456";   # user()指是当前用户

exit 退出,用新密码登录

注:密码为空或者已知当前密码:将密码改为123456

登录mysql后:mysql> set password for root@localhost = password('123456');

在shell终端执行:mysql -uroot -p -e "set password for root@localhost=password('123456');"

在shell终端用mysqladmin:mysqladmin -uroot -p123 password 123456

源码安装mysql 5.7版本完成。

mysql> show databases;  #查询数据库

创建jfedu数据库,设置字符集

mysql>create database jfedu charset=utf8;

如果用下面这条命令创建数据库,如果数据库已经存在就不会报错,否则会报错。

mysql>create database if not exists jfedu charset=utf8;

删除jfedu数据库

mysql> show databases;

如果使用下面这种方式删除数据库,如果数据库不存在就不会报错。

drop database if exists jfedu;

在jfedu数据库中创建t1表

mysql> use jfedu

Database changed

mysql> create table t1( id int(10) auto_increment primary key,

    -> name varchar(20), job varchar(10) );

Query OK, 0 rows affected (0.02 sec)

查看所有表

mysql> show tables;

查看所有表的详细信息:

mysql> show table status\G

查看表结构

mysql> desc t1;

查看创建表的sql语句

mysql> show create table t1\G

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/337613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot配置项动态刷新

文章目录 一,序言二,准备工作1. pom.xml引入组件2. 配置文件示例 三,自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四,yaml文件转换为java对象1. 无法使…

[陇剑杯 2021]webshell

[陇剑杯 2021]webshell 题目做法及思路解析(个人分享) 问一:单位网站被黑客挂马,请您从流量中分析出webshell,进行回答: 黑客登录系统使用的密码是_____________。 题目思路: 分析题目&…

《Aspect-Sentiment-Multiple-Opinion Triplet Extraction》论文阅读

文章目录 文章介绍文章模型encoder部分ATE任务TOWE任务ATSA任务 番外 文章地址: https://arxiv.org/abs/2110.07303v1 文章介绍 目前的关于ASTE三元组提取的方面级情感分析论文大多关注于简单的句式,比如一个方面实体仅有一个意见词加以修饰&#xff0c…

【计算机网络】TCP握手与挥手:三步奏和四步曲

这里写目录标题 前言三次握手四次挥手三次握手和四次挥手的作用TCP三次握手的作用建立连接防止已失效的连接请求建立连接防止重复连接 TCP四次挥手的作用:安全关闭连接避免数据丢失避免半开连接 总结: 总结 前言 TCP(传输控制协议&#xff09…

新 Java 与旧 Java 不同的 11 个原因

Java 已经很古老了吗?那些喋喋不休地谈论闪烁着灯光的前面板和软盘时代的老人们所使用的编程语言?或者它仍然很时尚,拥有所有最新的语言增强功能,可实现直观的编码和一流的性能?也许 Java 介于两者之间:一种…

二维码巡检系统开发及部署

** 凡尔码二维码巡检系统**是一种低代码平台;用户可通过平台开发好的组件像搭积木一般灵活搭建巡检管理平台和无纸化记录应用场景。 ** 凡尔码平台功能**组件:二维码管理、表单管理、流程管理、计划管理、权限管理、隐患管理、区域管理、记录管理、任务…

vue3+vite:封装Svg组件

前言 在项目开发过程中,以svg图片引入时,会遇到当hover态时图片颜色修改的场景,我们可能需要去引入另一张不同颜色的svg图片,或者用css方式修改,为了方便这种情况,需要封装svg组件来自定义宽高和颜色&…

(3)【Python数据分析进阶】Machine-Learning模型与算法应用-线性回归与逻辑回归

目录 一、Linear Regression线性回归应用 应用案例(一)——自定义数据(Custom data) 1、下载安装sklearn库 2、导入库函数 3、加载数据集 4、创建线性回归对象 5、模型训练 6、预测结果 7、绘制模型图像 8、应用模型进行…

Python小项目:还在为备份烦恼?这个tkinter项目帮你解决!

文章目录 1 引言2 Tkinter概览3 设计备份软件的界面4 文件夹选择逻辑5 备份方案介绍5.1 完全备份5.2 增量备份5.3 镜像备份 完整代码: import tkinter as tk from tkinter import filedialog, messagebox import os import shutil import filecmpdef choose_source(…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 三、nginx-ingress-controller暴露服务端的方式 1、DeploymentLoadBalancer模式: 1、工作流程图&…

vector讲解

在学习玩string后我们开始学习vector,本篇博客将对vector进行简单的介绍,还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构,但是vector是由C编写而成的,他和数组也有本质上的区别&#xff…

pandas操作excel

目录 一:创建excel 二:修改excel 三:查找excel 四:删除数据 五:合并excel数据 一:创建excel import pandas as pd # 创建DataFrame对象 data { Name: [Alice, Bob, Charlie], Age: [25, 30, 35], S…

ISA Server 2006部署网站对比nginx

2024年了,我还是第1次使用ISA Server 。没办法在维护一个非常古老的项目。说到ISA Server可能有小伙们不清楚,但是说到nginx大家应该都知道吧。虽然他们俩定位并不相同,但是本文中提到的需求,他俩是都可以实现。 网上找的到的教程…

力扣:(692. 前K个高频单词)

题目1: 题目链接 思路1:首先可以使用map来统计单词出现的次数。然后使用vector将pair存起来,接着使用stable_sort排序(要保证数据具有稳定性),然后返回前k个单词即可。 难点:需要写一个比较函数(仿函数&am…

SAP S/4HANA 2023 Fully-Activated Appliance 虚拟机版介绍

注:市面上所有在售虚拟机均为拷贝本人所作的虚拟机,存在各种技术问题,请知悉。 SAP S4HANA 2023 FAA版本内置了四个Client: 1、000:SAP初始Client,原则上不能动; 2、100:只激活了US…

java SSM网上小卖部管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM网上小卖部管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源 代码和数据库,系统主要…

【Docker篇】详细讲解容器相关命令

🎊专栏【Docker】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🛸容器🌹相关命令🍔案例⭐创建并运…

WorkPlus Meet私有化视频会议软件-构建安全高效的内网会议体验

在企业内部,高效的会议协作是推动团队协同和工作效率的关键。而内网会议系统成为了构建安全高效的内部会议体验的必要工具。作为一家领先的内网会议系统,WorkPlus Meet以其卓越的性能和智能化的功能,助力企业实现高效安全的内部会议体验。 为…

GPU与SSD间的P2P DMA访问机制

基于PCIe(Peripheral Component Interconnect Express)总线连接CPU、独立GPU和NVMe SSD的系统架构。 在该架构中,PCIe Swicth支持GPU与SSD之间快速的点对点直接内存访问(peer-to-peer, p2p DMA)。通常情况下&#xff0…

详细版Git的下载安装与配置(Windows)

一、git的下载 Git是一个非常好用的版本控制工具。下载地址如下:Git - Downloads。建议使用国内浏览器下载,因为不用翻墙,速度快。 当你用浏览器去访问上面的地址后,下载页面会自动识别你的电脑系统,如下 点击&#…