一、下载对应版本的mysql  

  1、官网下载压缩安装包。

  进入到mysql官网下载自己对应版本的mysql,下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择Linux的通用版本,64位,并且经过了压缩的安装包(说明:tar表示是安装包,非安装程序,gz表示是压缩过的安装包)。

  

  我这里下载mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz版本。

  2、在Linux中通过命令下载。

  

二、环境配置

  1、查看操作系统位数:getconf LONG_BIT;

  2、查看系统是否已经安装mariaDB:rpm -qa|grep mariaDB

    如果已经安装,则删除。mariaDB是mysql的一个分支,兼容mysql。

    

  3、删除已经安装的mariaDB

  

 三、安装mysql

  1、解压mysql压缩安装包

  • 解压安装包:tar -xzvf  mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

    xzvf参数的说明:

      x:表示解压;

      z:表示压缩方式;

      v:显示解压过程;

      f:表示后面接文件,必须。

  • 修改解压后的文件夹名称:mv mysql-5.7.37-linux-glibc2.12-x86_64  mysql
  • 移动解压出来的文件夹,改名后的mysql,移动到: /usr/local下 

  2、检查mysql组和用户是否存

    cat  /etc/group|grep mysql

    cat /etc/password|grep mysql

  3、不存在,则添加

    添加用户组:groupadd mysql

    添加用户:useradd -r -g mysql mysql

    

  4、创建data目录

     进入mysql目录,cd /usr/local/mysql   

     创建data目录,mkdir data

  5、更改mysql用户组、用户、权限

     为保障mysql用户有足够的权限,我们需要将mysql目录下所有目录及文件夹的所属用户组和用户给到mysql:mysql,并让mysql用户具有相应的权限

     更改用户组及用户:chown -R mysql:mysql /usr/local/mysql

     更改权限:chmod -R 755 /usr/local/mysql

       小知识:777代表具体权限,使用cl l可查看权限,rwx是三种权限,分别对应421

  6、编辑配置文件/etc/my.cnf

     如果该目录下没有my.cnf文件,则可以新建一个同名文件,并进行编辑。

        vim /etc/my.cnf

        编辑内容如下:

   

    

  [mysqld]

  #character

  character-set-server=utf8

  collation-server=utf8_general_ci

  datadir=/usr/local/mysql/data

  port = 3306
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  symbolic-links=0
  max_connections=600
  innodb_file_per_table=1
  lower_case_table_names=1

  [mysqld_safe]
  datadir=/usr/local/mysql/data
  log-error=/usr/local/mysql/data/error.log
  pid-file=/usr/local/mysql/data/mysql.pid
  user=mysql
  tmpdir=/tmp

  7、初始化mysql

  进入mysql的bin目录:cd /usr/local/mysql/bin

  进行初始化:     ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data     

  

注意:必须要注意这里的初始密码,后面要用。如果此处初始化报错了,需要重新初始,可删除data目录,调整出问题的地方后,重新给相应的权限和更改用户、用户组,重新初始化。

  8、测试启动mysql服务

  /usr/local/mysql/support-files/mysql.server start

  注意:启用时,可能报如下错误:Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

解决方法:编辑/etc/init.d/mysql,找到start模块,添加--user=root到mysqld_safe 即可(还可能是因为其他原因,大部分原因网上可查)。

     

    9、添加软连接,并重启mysql服务      

      ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
      ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

      service mysql restart

        10、登录mysql

      使用初始密码登录系统,mysql -u root -p

     11、修改密码、取消过期

      查看user表信息:

        use mysql;

        desc user;

      update user set authentication_string == password('用户密码'), password_expired='N'  where user = 'root'

      重启mysql服务。

      注意:a.如果在重启服务的时候,提示Access denied for user ‘root’@‘localhost’(using password: YES)或者提示(You must reset your password using ALTER USER),则按照以下

          关闭mysql服务,service mysql  stop。可以通过service mysql statyus查看mysql服务的状态。

          进入safe模式。进入mysql安装目录的bin目录, ./mysqld_safe --skip-grant-tables

          另起一个客户端,使用root 账户无密码登陆,进行修改密码。

            mysql -u root

            use mysql;

            使用sql语句,修改密码,并设置密码不过期(因为默认是过期的)。update user set authentication_string == password('用户密码'), password_expired='N'  where user = 'root';

            然后使用select authentication_string,password_expired from user where user='root';查看以下修改结果。

            更新权限:flush privileges

            quit;退出

            重启服务。(service mysql stop)             (service mysql start)。这里如果无法启动服务,可以选择重启系统,再启动mysql服务。

            最后使用修改后的新密码,重新连接数据库(mysql -u root -p)。

    12、开放远程连接

      use mysql; 

      update user set user.Host='%' where user.User='root';      

      flush privileges;

      quit;

    13、设置开机自动启动     

      将服务文件拷贝到init.d下,并重命名为mysql

        cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

      赋予可执行权限        

        chmod +x /etc/init.d/mysqld

      添加服务                    

        chkconfig --add mysqld

      显示服务列表

        chkconfig --list

Linux CentOS7.X-安装mysql5.7数据库(安装包tar.gz)的更多相关文章

  1. Linux(CentOS6.7) 安装MySql5.7数据库 图文教程

    linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...

  2. Linux(CentOS6.7) 安装MySql5.7数据库

    linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...

  3. Linux centOS7 下安装mysql5.7.10

    1:下载二进制安装包 http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz 2:解压到 ...

  4. centos7 下安装mysql5.7 数据库并使用nevicat连接数据库

    安装mysql5.7的教程: https://www.cnblogs.com/yybrhr/p/9810375.html 遇到的问题: 无法连接,到阿里云服务器安全组设置3306端口

  5. Linux 环境编译安装mysql (源码安装包)

    标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包.配置163网易提示的网络yum源参考博客  http://www.cnblogs.com/zoulo ...

  6. centos7环境下安装mysql5.6-----解压安装包的方法

    参考连接:https://blog.csdn.net/qq_17776287/article/details/53536761 linux下有很多服务,如何查看服务是否启动,以mysql为例子 使用命 ...

  7. 记录CentOS7.X版本下安装MySQL5.7数据库

    记录CentOS7.X版本下安装MySQL5.7数据库  设置rpm下载目录在/opt目录下新建一个目录存放mysql cd /opt sudo mkdir mysql12  下载MySQL的源 wg ...

  8. [ 原创 ] Centos7.6安装Mysql5.7

    https://blog.csdn.net/shj_php/article/details/86712408 CentOS7下安装MySQL5.7安装与配置(YUM) http://blog.csdn ...

  9. linux 环境RPM 安装MYSQL5.6

    linux 环境RPM 安装MYSQL5.6 系统环境 CentOS7.2 1.关闭selinux 服务[SELinux是一种基于域-类型 模型(domain-type)的强制访问控制(MAC)安全系 ...

随机推荐

  1. Django ORM 多对多操作 使用聚合函数和分组 F查询与Q查询

    创建表 # models.py form django.db import models class Book(models.Model): # 表名book,django会自动使用项目名+我们定义的 ...

  2. python 小兵 三元运算符

    1 if 条件成立: 2 val = 1 3 else: 4 val = 2 改成三元运算: val = 1 if 条件成立 else 2 举例 条件成立走左边,条件成立走右边 a = 2 b = 5 ...

  3. Understanding C++ Modules In C++20 (2)

    Compiling evironment: linux (ubuntu 16.04)+ gcc-10.2. The post will focus on using export,import,vis ...

  4. 尚硅谷全套课件整理:Java、前端、大数据、安卓、面试题

    目录 Java 尚硅谷 IT 精英计划 JavaSE 内部学习笔记.pdf 尚硅谷 Java 基础实战之银行项目.pdf 尚硅谷 Java 技术之 JDBC.pdf 尚硅谷 Java 技术之 Java ...

  5. 「CTSC 2011」排列

    「CTSC 2011」排列 要求不存在公差为 A 或者公比为 B 的子列,那么实际上可以把该问题转化为求一个图的最优拓朴序. 任意差为 A 或者比为 B 的两个数连一条边. 求一个合法序列的答案可以用 ...

  6. AT5801 [AGC043D] Merge Triplets

    这种排列生成排列的题目我们一般可以考虑生成排列合法的充要条件. 首先可以发现的一点就是该生成排列的任意一个数 \(p_i\) 一定不存在连续的三个数 \(p_{i + 1}, p_{i + 2}, p ...

  7. new Date时间格式转换方法

    平时经常会使用到时间转换,组件库已经有很多组件可以自动生成时间类型了,但是底层的封装方法还是得有 获取当前时间 new Date()  或者自己拥有一个毫秒时间 方法如下 /** * title: 时 ...

  8. laravel操作Redis排序/删除/列表/随机/Hash/集合等方法全解

    Song • 3563 次浏览 • 0 个回复 • 2017年10月简介 Redis模块负责与Redis数据库交互,并提供Redis的相关API支持: Redis模块提供redis与redis.con ...

  9. 使用Java开发桌面即时通讯程序遇到的问题

    项目:https://www.lking.top/?p=87 1. JPanel面板绘制背景图片问题. 参考大佬:https://www.jb51.net/article/101516.htm 本项目 ...

  10. Msi.h causes compilation error in vs2010

    创建一个Win32 Console工程ReadFromMSM,什么都不需要做. 在ReadFromMSM.cpp文件中引入头文件: #include <msi.h> 编译,会发现有成堆的错 ...