最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL

安装环境

CentOS7 + MySQL5.7

下载安装包

mysql-5.7.26 版本下载地址(点击链接直接下载)

操作步骤

  1. 利用 xFtp 上传 mysql.gz 包至安装目录下,我的目录是 /usr/soft/sort
  2. 解压安装包至指定目录下,我的是同目录下的install文件夹

    tar -zxvf /usr/soft/sort/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/soft/install/

  3. 创建组

    groupadd mysql

  4. 创建用户

    useradd -r -g mysql mysql

  5. 将安装目录所有者及所属组改为mysql

    chown -R mysql.mysql /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64

  6. 进入mysql目录并创建data文件夹用于存放数据库表之类的数据

    cd /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64

    mkdir data

  7. 准备初始化,首先要安装依赖库libaio

    yum install libaio

  8. 准备初始化,这一步务必记住初始密码,它位于输出日志的末尾(数据库管理员临时密码)

    注意这是一整条命令:/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/bin/mysqld --user=mysql --basedir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/ --datadir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/data --initialize

    我的输出日志示例:20xx-xx-xxTxx:xx:xx.493483Z 1 [Note] A temporary password is generated for root@localhost: 这里是初始的临时密码

  9. 配置系统环境变量
    • 编辑 vim /etc/profile
    • 添加以下环境变量

      export MYSQL_HOME=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64

      export PATH=$PATH:$MYSQL_HOME/bin

    • 更新 source /etc/profile
  10. 配置mysql配置,这里最好查询一下所有配置的含义,可以参考 这篇文章

    datadir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/data

    basedir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64

    socket=/tmp/mysql.sock(这行很重要,不然后续socket连接会出问题)

    user=mysql

    port=3306

    innodb_file_ per_table=1

    character-set-server=utf8

  11. 这里需要操作两个目录,用于配置文件中部分文件的运行,不然直接启动会报错,建议先完成错误解决方案中的代码
    • 第一个错误mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log
    • 第一个错误解决方案,新建并添加权限

      mkdir /var/log/mariadb

      touch /var/log/mariadb/mariadb.log

      chown -R mysql:mysql /var/log/mariadb/

    • 第二个错误mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
    • 第二个错误解决方案,新建并添加权限

      mkdir /var/lib/mysql

      chmod 777 /var/lib/mysql

    • 参考文档一
    • 参考文档二
  12. 将mysql加入服务

    cp /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

  13. 设置开机启动

    chkconfig mysql on

  14. 添加软连接

    ln -s /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

    ln -s /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql

  15. 启动mysql

    service mysql start

  16. 使用初始密码登录
    • 执行 mysql -u root -p(socket连接)
    • 或者执行 mysql -u root -h 127.0.0.1 -p(本地连接)
    • 输入密码,可以直接去前面保存的初始密码复制过来
  17. 修改初始密码
    • use mysql;(注意mysql语句使用英文;结束!!!)
    • mysql> update user set authentication_string=passworD("你的新密码") where user='root';(mysql5.7及以上版本需要使用authentication_string字段来修改密码,有些博文并未提及,需要注意!!!)
    • 这个也可修改密码,效果同上 set password=password("你的新秘密");
    • 重新加载权限表 flush privileges;
    • 退出mysql exit;

参考资料一 ———— linux下mysql的安装与使用

参考资料二 ———— linux 安装 mysql简单教程

参考资料三 ———— linux下mysql配置文件my.cnf详解

参考资料四 ———— 启动mysql报错mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log

参考资料五 ———— mysqld_safe Directory ‘/var/lib/mysql‘ for UNIX socket file don‘t exists.

参考资料六 ———— linux下将mysql加入到环境变量

参考资料七 ———— MySQL--启动和关闭MySQL服务

参考资料八 ———— mysql报错:You must reset your password using ALTER USER statement before executing this statement.

参考资料九 ———— Linux下修改Mysql密码的三种方式

参考资料十 ———— 查看MySQL是否在运行

我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!

如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~

转发请注明参考文章地址,非常感谢!!!

详解在Linux中安装配置MySQL的更多相关文章

  1. 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司 ...

  2. 一步到位Linux中安装配置MySQL及补坑

    Windows上安装MySQL也就不讲了,基本上一路点击下一步就可完成,现在讲讲Linux上布署Mysql,虽然也有很多网友列出了详细的步骤,可能是因为版本过老的问题导致即使按照上面一步步来也还是出现 ...

  3. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  4. Linux中安装配置spark集群

    一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...

  5. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...

  6. CentOS 6.5系统中安装配置MySQL数据库

    就像Windows server 2003,2008中一般安装的是Sql Server 数据库,在linux系统中一般安装的是mysql数据库,而且Mysql数据库的第一个版本就是发行在Linux系统 ...

  7. Android Studio3.0的下载及其安装详解加eclipse下载安装配置jdk9

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号  欢迎大家关注我的微信公众号:「醉翁猫咪」 今天我们来讲解如何下载android studio 3.0及其 ...

  8. Linux下安装配置MySQL

    一.删除原来的MySQL 在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本. 1. 执行yum命令,删除MySQL的lib库,服务文件 yu ...

  9. git 使用详解(2)——安装+配置+获取帮助

    安装 Git Git 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. 从源代码安装 若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本. ...

随机推荐

  1. 轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.48 发布

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 solon.serialization,做为序列化的基础插件 优化 所有Json序列化插件,使之可方便定制类型序列化 public ...

  2. T-SQL——关于XML类型

    目录 0. 将结果集转化为XML格式 1. 列值拼接为字符串 2. 字符串转换为列值 3. 一些说明 参考 志铭-2021年10月23日 10:43:21 0. 将结果集转化为XML格式 测试数据 I ...

  3. 这样学BAT必面之软件设计原则,还不会就是我的问题

    学习设计原则是学习设计模式的基础.在实际开发过程中,并不要求所有代码都遵循设计原则,我们要考虑人力.时间.成本.质量,不能刻意追求完美,但要在适当的场景遵循设计原则,这体现的是一种平衡取舍,可以帮助我 ...

  4. 吴恩达课后习题第二课第三周:TensorFlow Introduction

    目录 第二课第三周:TensorFlow Introduction Introduction to TensorFlow 1 - Packages 1.1 - Checking TensorFlow ...

  5. MyBatis源码分析(四):SQL执行过程分析

    一.获取Mapper接口的代理 根据上一节,Mybatis初始化之后,利用sqlSession(defaultSqlSession)的getMapper方法获取Mapper接口 1 @Override ...

  6. [转]DDR相关的一些基础知识

    ODT ( On-DieTermination ,片内终结)ODT 也是 DDR2 相对于 DDR1 的关键技术突破,所谓的终结(端接),就是让信号被电路的终端吸 收掉,而不会在电路上形成反射, 造成 ...

  7. 前端面试手写代码——JS数组去重

    目录 1 测试用例 2 JS 数组去重4大类型 2.1 元素比较型 2.1.1 双层 for 循环逐一比较(es5常用) 2.1.2 排序相邻比较 2.2 查找元素位置型 2.2.1 indexOf ...

  8. 倒谱Cepstrum本质的理解

    1.理解: 信号叠加时,不是都是线性关系(时域相互+ 频率相加):有的时候是两种信号成分相乘得到的,(时域卷积,频域相乘):比如很多齿轮啮合时振动信号调制现象,电机的轴向与径向的振动耦合时采集到的振动 ...

  9. 线程私有数据TSD——一键多值技术,线程同步中的互斥锁和条件变量

    一:线程私有数据: 线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与fork()不同的地方在于vfork()之后的进程会共享父进程的地址空 ...

  10. List<String>转List<Integer>

    List<Integer> intList = strList.stream().map(Integer::parseInt).collect(Collectors.toList()); ...