最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在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. VS Code Just My Code Debugging

    VS Code Just My Code Debugging VS Code for C++ doesn't support Just My Code Refer here: Add support ...

  2. UE4蓝图AI角色制作(六)之行为树

    13.行为树原理 AI最重要的环节就是行为树.我们将解释什么是行为树.为何它如此重要,以及构建行为树需要哪些元素. 借助行为树,我们可以轻松控制并显示AI的决策制定过程.行为树是一种将AI在场景中的决 ...

  3. javascript的变量及数据类型

    1.变量的概念 变量是储存数据的内存空间 2.变量的命名规则 js变量的命名规则如下:以字母或者下划线开头可以包含字母.数字.下划线,不能包含特殊字符 3.变量的创建及初始化方法 方法一:先创建后使用 ...

  4. JSP(java server pages)安装开发和执行环境

    JSP是一种动态网页技术标准. 它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag)的.jsp文件: java程序段:操纵数据库,重新定向网页,发送email等 ...

  5. [no code][scrum meeting] Alpha 6

    项目 内容 会议时间 2020-04-13 会议主题 后端技术细节分析 会议时长 30min 参会人员 PM+后端组成员 $( "#cnblogs_post_body" ).cat ...

  6. 使用logstash的grok插件解析springboot日志

    使用logstash的grok插件解析springboot日志 一.背景 二.解决思路 三.前置知识 四.实现步骤 1.准备测试数据 2.编写`grok`表达式 3.编写 logstash pipel ...

  7. 热身训练3 Palindrome

    Palindrome 简要题意:  我们有一个字符串S,字符串的长度不超过500000. 求满足S[i]=S[2n−i]=S[2n+i−2](1≤i≤n)(n≥2)的子串个数.  分析: 我们能通过简 ...

  8. ClickHouse实战

    1.概述 最近有被留言关于ClickHouse的使用问题,今天笔者将为大家分享一下ClickHouse的安装细节和使用方法. 2.内容 首先安装环境如下所示: Linux:CentOS7 ClickH ...

  9. 有关fgetc配合feof逐行读取文件最后一行读取两遍的错觉?

    最近在做一个wifiap设置的接口,用户首先获取到当前wifi 热点的ssid 和pwd,然后修改,保存. 获取信息的时候是fopen对应的hostapd.conf文件,逐行读取,查找匹配的参数. 修 ...

  10. QT判断文件/目录是否存在

    最近在用qt写一个ui,遇到删除sd卡中的文件失败情况,有些时候是存在删除链表里面的文件在sd卡上已经不存在了,导致失败,以为我的链表是定时刷新的,但是文件是实时更新会同步覆盖的.这样就存在可能上一秒 ...