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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言(十二)----多态

一. 多态的基本要素 有一个父类(有接口)有子类(实现了父类的全部方法)父类类型的变量(指针)指向(引用)子类的具体数据变量首先,定义一个父类 //本质是一个指针 type AnimalIF interface {Sleep()GetColor() stringGetType() string }其次,有一个子类 //具体的类 typ…

(上) C语言中的语句分类及分支语句:if语句、switch语句介绍

目录 前言 一、语句的分类 1. 空语句 2. 表达式语句 3. 函数调用语句 4. 复合语句 5. 控制语句 二、分支语句 1. if语句 (1) if的使用 (2) else的使用 (3) 分支中包含多条语句 (4) 嵌套if (5) 悬空else问题 2. switch语句 (1) if语句和switch语句的对比 (2) s…

触摸屏监控双速电动机-确定地址分配

I/O地址分配 当选择了PLC之后,首先需要确定的是系统中各I/O点的绝对地址。在某些PLC 中1/O绝对地址的分配方式共有固定地址型、自动分配型、用户定义型3种。实际所使用的方式取决于所采用的PLC的CPU型号、编程软件、软件版本、编程人员的选择等因素。 本任务输入信…

鸿蒙 HarmonyOS ArkTS ArkUI 动画 中心缩放、顶部缩放、纵向缩放

EntryComponentstruct Index {State widthA: number 200State heightA: number 200onPageShow():void{animateTo ( {duration: 2000,iterations: -1,curve:Curve.Linear}, () > {this.widthA 0this.heightA 0} )}build() {Column() {// 中心缩放Column(){}.width(this.wi…

QT+opencv源码编译

时间记录:2024/1/20 一、版本介绍 QT5.12.7cmake3.22.0opencv4.5.4 二、编译步骤 (1)下载opencv源码,然后安装,opencv的安装即对源码的解压过程,解压后的文件目录如下 (2)openc…

全开源多城市同城信息小程序源码(Laravel 框架),同城分类信息发布便民小程序系统【非DZ】

同城生活分类信息小程序,人才招聘、房产二手 多城市地区同城分类信息发布,商家入驻等功能 小程序前后端代码开源无加密,可进行二次开发 【源码运行要求】 1、需要已认证的微信小程序 2、已备案的域名及服务器空间 推荐使用宝塔面板LinuxPHP…

vue-项目打包、配置路由懒加载

1. 简介 在现代前端开发中,Vue.js因其简洁、灵活和高效的特点,已经成为许多开发者的首选框架。 在Vue项目中,打包部署和路由懒加载是两个非常重要的环节。 打包Vue项目是为了将源代码转换为浏览器可以解析的JavaScript文件,以便…

济公、新宿事件

活佛济公,下凡之前职位是降龙罗汉。看不惯神仙手握神通却不能全心全意为凡人服务,大闹天庭。 天庭一众公务员认为简直一派胡言,那么多天条就算有对有错,先不管,总有一条能治的了你! 观音救场,…

力扣2788-按分隔符拆分字符串

按分隔符拆分字符串 题目链接 解题思路: 1 .传参是一个字符串数组,我们需要对每一个字符串处理 2 .解题中e是字符串数组中的每一个字符串 3 .i是每个字符串的下标,n为每个字符串的大小 4 .遍历整个字符串 5 .start是要切割的位置 class Solu…

热血江湖服务端服务器架设教程

热血江湖服务端服务器架设教程 大家好,我是艾西今天简单的说下热血江湖架设需要哪些东西然后怎么操作,不管你是自己玩还是对外开放,这对于有兴趣的小伙伴总的都是一件好事。技多不压身就是这么个道理,当你需要用上时还希望能记起…

Addressables(1) 从安装到加载单个/多个资源

不想再配改那些狗屎路径,准备研究一下Adressable,据说可以用key加载指定的资源 刚安装下来,随便搞了个资源勾选了一下addressable的框框,多了好多东西啊 概念铺天盖地而来,ok 没事的 慢慢来! 前置知识 P…

C# 字符串(String)

文章目录 前言一、C#字符串(String)二、String 类的属性/方法总结 前言 C#基础学习入门系列- C# 字符串(String) 一、C#字符串(String) C#字符串(String)是一种不可变的序列字符。…

欧科云链与《警察技术》联合发布技术专题.pdf

欧科云链受《警察技术》邀请,于第201期期刊正式刊登“区块链生态安全与虚拟货币犯罪治理”技术专题。欧科云链作为该技术专题主要作者,直接参与本次期刊2篇文章撰写,同时为多篇文章提供欧科云链的最新数据和研究成果。 《警察技术》期刊创办于…

LeetCode——双指针

双指针 思想:双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 1. 两数之和Ⅱ-输入有序数组167中等 题意解读:从数组中找出满足相加之和等于目标数的两个数——本质是遍历数组。 存在前提假设: …

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

RPC教程 2.支持并发与异步的客户端

1.客户端的使用例子 func main(){//1. 建立连接client, err : rpc.Dial("tcp", "localhost:1234")//2.调用调用指定的RPC方法var reply string //string有默认值err client.Call("HelloService.Hello", "hi", &reply) //即是…

使用docker配置semantic slam

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:16.04拉取的为ununtu16版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

linux 使用笔记

1.查看运行内存 a.Free 快速查看内存的方法&#xff0c;也是经常使用的命令&#xff0c; -h 更人性化的显示内存的单元 -m 以M的形式显示 b.Top Top命令提供了实时性的运行中的程序的资源使用统计。可以根据内存的使用和大小来进行排序。 如上所示&#xff0c;top命令可以看…

伊恩·斯图尔特《改变世界的17个方程》波动方程笔记

主要是课堂的补充&#xff08;yysy&#xff0c;我觉得课堂的教育模式真有够无聊的&#xff0c;PPT、写作业、考试&#xff0c;感受不到知识的魅力。 它告诉我们什么&#xff1f; 小提琴琴弦上某个小段的加速度&#xff0c;与相邻段相对于该段的平均位移成正比。 为什么重要&…

算子开发参考

神经网络框架自定义算子 https://www.tensorflow.org/lite/guide/ops_custom?hlzh-cn https://www.megengine.org.cn/doc/stable/zh/user-guide/tools/customop.html https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/custom_op/index_cn.html https://whu.obs.…