STEP 1. 下载

去往官方下载MySQL包.http://dev.mysql.com

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 2. 解压缩

[root@study mysql]pwd
/root/soft-install/
[root@study mysql]tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 3.  将解压后的目录的内容移动到指定的安装目录下,我选择在/data/mysql, 建立相关文件以及修改文件和目录的属性

  [root@study mysql]test -d /data/mysql || mkdir /data/mysql
#移动第二步中解压目录中的所有数据到 /data/mysql中
[root@study mysql] mv mysql-5.7.25-linux-glibc2.12-x86_64/* /data/mysql # 查看是否有mysql用户名和mysql用户组
[root@study mysql] cat /etc/passwd | grep mysql
[root@study mysql] cat /etc/group | grep mysql #如果存在,则删除用户和用户组
[root@study mysql] userdel -r mysql # 接下来,新建mysql用户(系统账号)、mysql用户组
[root@study mysql] groupadd mysql
[root@study mysql] useradd -r -s /sbin/nologin -d /data/mysql -g mysql mysql    #创建mysql用户为系统账号,禁止登陆系统,并指定家目录为/data/mysql,所属组为mysql组。 #更改/data/mysql目录的用户以及用户组
[root@study mysql]chown -R mysql:mysql /data/mysql # 创建MySQL 数据目录
[root@study mysql]mkdir /var/mysql # 更改目录权限(用户以及用户组)
[root@study mysql]chown -R mysql:mysql /var/mysql # 创建 日志
[root@study mysql] test -d /var/log/mysql || mkdir /var/log/mysql
[root@study mysql] chown -R mysql:mysql /var/log/mysql
# 创建 pid进程文件
[root@study mysql] touch  /data/mysql/mysqld.pid
[root@study mysql] chown mysql.mysql /data/mysql/mysqld.pid

注意:pid文件是mysql启动时自动创建的文件,无需用户手动单独创建,该文件是在mysql初始化(初始化时要求mysql的数据库目录文件夹为空,否则初始化失败)时提前指定的,否则为系统默认的pid文件。
例如:mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20 --datadir=/data/mysql --pid-file=/data/mysql/mysqld.pid

STEP 4. 修改配置文件 /etc/my.cnf

[root@study mysql] vim /etc/my.cnf
###
[mysqld]
# 数据目录
datadir=/var/mysql
# 基础目录
basedir=/data/mysql
# MySQL监听端口
port=3306
# soket文件
socket=/tmp/mysqld.sock
# 服务器字符集
character-set-server = utf8
symbolic-links=0
[mysqld_safe]
# mysql 日志文件
log-error=/var/log/mysql/mysqld.log
# mysql pid文件
pid-file=/data/mysql/mysqld.pid

STEP 5. 1安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

初始化完毕,生成msql的临时登陆密码,在屏幕上显示,

2019-12-01T04:51:27.589838Z 1 [Note] A temporary password is generated for root@localhost: je_BjKq;i54%

STEP 5. 2安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

STEP 6.1  启动测试以及加入系统服务

linux7版本使用此方式加入,无法使用systemctl进行启动/关闭服务,如需使用systemctl命令操作,需要加入到system启动文件中。
mysqld_safe脚本可以启动任何安装方式安装的Mysql,并总是尝试将服务和数据库与工作目录相关联,需要使用ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock方可。
[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/init.d/mysqld
[root@study mysql] vim /etc/init.d/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令
[root@study mysql]mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@study mysql]ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock 
[root@study mysql] mysql -uroot -p              #输入mysql初始化时产生的临时密码登陆
mysql > alter user 'root'@'localhost' identified by '123456';  #首次登陆,修改账号密码

出现错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

尝试
ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock

STEP 6.2 启动测试以及加入系统服务

[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/mysqld
[root@study mysql] vim /etc/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令


[root@study mysql]mysqladmin -u root password 123456    # 配置数据库管理员用户密码,假设为 123456
[root@study mysql]mysql -uroot -p123456
mysql > grant all privileges on *.*  to 'user'@'localhost' identified by 'gz@1234';  #创建指定用户,并赋权

STEP 7.  设置开机启动以及打开防火墙设置

#防火墙
[root@study mysql] firewall-cmd --permanent --zone=pulibc --add-port=3306/tcp
[root@study mysql] firewall-cmd --reload

STEP 8.  远程主机连接mysql

#连接mysql
[root@study mysql] mysql -h ip地址 -u 用户名 -p 密码

mysql5.7.25搭建mysql-5.7.25.tar.gz包(亲验)的更多相关文章

  1. linux 安装mysql数据库——tar.gz包解压安装法

    mysql数据库有多种安装方式,本文只介绍在Linux服务器上的tar.gz包解压安装法, 先通过mysql官网或者网络资源下载 mysql-5.7.3-m13-linux-glibc2.5-x86_ ...

  2. Ubuntu16.04下通过tar.gz包安装MySQL5.5.52

    1.下载  tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // ...

  3. CentOS7使用tar.gz包安装MySql的踩坑之旅

    由于客户的CentOS服务器没有安装yum工具,只能通过下载tar.gz包安装mysql,于是跟着万能的百度开启了漫漫踩坑之旅: 1.下载mysql-5.6.33-linux-glibc2.5-x86 ...

  4. CentOS7采用tar.gz包方式安装Mysql5.7

    软件:VMware Linux版本:CentOS 7 一.安装mysql(采用tar.gz包安装Mysql5.7) 1.安装开发工具包 [root@localhost ~]# yum groups m ...

  5. Linux下安装MySQL的tar.gz包

    以root用户登录待安装的服务器. 上传软件包并解压. 以root用户通过sftp/ftp工具上传“mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz”软件包到“/o ...

  6. Centos系统通过tar.gz包安装Mysql5.7

    1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令: yum search libaio yum install libaio 2.进入centos终端操作界面,使用wget命令下载 ...

  7. 【mysql】mac上基于tar.gz包安装mysql服务

    一.准备工作 (1)下载mysql-5.7.21-macos10.13-x86_64.tar.gz,并将该压缩包移动至/usr/local目录下 (2)解压压缩包 二.安装 (1)将解压的包重命名为m ...

  8. Centos7 - mysql 5.5.62 tar.gz 方式安装

    安装准备 Mariadb 去除 由于CentOS7自带的是 Mariadb, 所以先来删除他吧... 1. 查找版本 # rpm -qa|grep mariadb 执行命令后会出现类似 MariaDB ...

  9. linux mysql数据库安装(tar.gz)

    概述 mysql数据库在linux下可以充分发挥威力,mysql数据库越来越受到软件公司的青睐,为什么呢? 免费.跨平台.轻.支持多并发 在北京很多软件公司属于创业型的中.小公司,从节约成本的角度考虑 ...

随机推荐

  1. 第三篇.6、python基础补充

    ''' 不可变:数字,字符串,元组 可变:列表,字典 原子:数字,字符串 容器:列表,元组,字典 直接访问:数字 顺序:字符串,列表,元组 映射访问:字典 ''' #一一对应 a,b,c,d,e='h ...

  2. ctfd搭建

    CTFd 0x00 前言 搭个CTF平台,看能不能带动一下学校的CTF参与度. 一个下午都在搭这个平台:O 抓瞎摸索,最后成功用Apache+mod_wsgi也算是功德圆满了. 进入正题: 系统: C ...

  3. java8学习之groupingByConcurrent与partioningBy源码分析

    在上一次[http://www.cnblogs.com/webor2006/p/8387656.html]中对于Collectors.groupingBy()方法进行了完整的分析之后,接着继续来分析一 ...

  4. Django学习系列14:第一个数据库迁移

    在Django中,ORM的任务是模型化数据库. 创建数据库其实是由另一个系统负责的叫做迁移. 迁移的任务是根据你对models.py文件的改动情况,添加或删除表和列. 可以把迁移想象成数据库使用的版本 ...

  5. string::find_first_of

    string (1) size_t find_first_of (const string& str, size_t pos = 0) const noexcept; c-string (2) ...

  6. 微信小程序 canIUse

    wx.canIUse(); 微信文档中定义在API中,可以理解为一个函数. 返回值: true 或者 false 示例: // 在JS文件的函数中进行使用 console.log(wx.canIUse ...

  7. 理解 Cookie、Session、Token

    发展史 Cookie Session Token Token的起源 基于服务器的验证 基于服务器验证方式暴露的一些问题 基于Token的验证原理 Tokens的优势 发展史 1.很久很久以前,Web ...

  8. 面试题:Dubbo中zookeeper做注册中心,如果注册中心集群全都挂掉,发布者和订阅者之间还能通信么?

    1.[提供者]在[启动]时,向注册中心zk [注册]自己提供的服务. 2.[消费者]在[启动]时,向注册中心zk [订阅]自己所需的服务.   可以的,消费者在启动时,消费者会从zk拉取注册的生产者的 ...

  9. dlsym用法

    1. 包含头文件 #include<dlfcn.h> 2. 函数定义 void *dlsym(void *handle, const char* symbol); handle是使用dlo ...

  10. LOJ-6282-数列分块入门6

    链接: https://loj.ac/problem/6282 题意: 给出一个长为 的数列,以及 个操作,操作涉及单点插入,单点询问,数据随机生成. 思路: vector 维护每个区间, 当某个区间 ...