详解在Linux中安装配置MySQL

最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在 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. 配置系统环境变量
  10. 编辑 vim /etc/profile
  11. 添加以下环境变量

    export MYSQL_HOME=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64
    export PATH=$PATH:$MYSQL_HOME/bin

  12. 更新 source /etc/profile
  13. 配置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

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

    mkdir /var/log/mariadb
    touch /var/log/mariadb/mariadb.log
    chown -R mysql:mysql /var/log/mariadb/

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

    mkdir /var/lib/mysql
    chmod 777 /var/lib/mysql

  19. 参考文档一
  20. 参考文档二
  21. 将mysql加入服务

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

  22. 设置开机启动

    chkconfig mysql on

  23. 添加软连接

    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

  24. 启动mysql

    service mysql start

  25. 使用初始密码登录
  26. 执行 mysql -u root -p(socket连接)
  27. 或者执行 mysql -u root -h 127.0.0.1 -p(本地连接)
  28. 输入密码,可以直接去前面保存的初始密码复制过来
  29. 修改初始密码
  30. use mysql;(注意mysql语句使用英文 ;结束!!!)
  31. mysql> update user set authentication_string=passworD("你的新密码") where user='root';(mysql5.7及以上版本需要使用 authentication_string字段来修改密码,有些博文并未提及,需要注意!!!)
  32. 这个也可修改密码,效果同上 set password=password("你的新秘密");
  33. 重新加载权限表 flush privileges;
  34. 退出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~ 😃
转发请注明参考文章地址,非常感谢!!!

Original: https://www.cnblogs.com/fx67ll/p/15589317.html
Author: fx67ll
Title: 详解在Linux中安装配置MySQL

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599590/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 8 int和Integer的区别

    数据类型 int是基本数据类型,Integer是int的包装类,属于引用类型 初始值 int的初始值为0,Integer的初始值为null 存储位置 int是直接存储在栈中的,In…

    数据库 2023年6月6日
    096
  • django中出现 错误 Errno 10053

    django中出现 错误 Errno 10053 pycharm里出现下面错误File “C:\Python27\lib\socket.py”, line …

    数据库 2023年6月9日
    086
  • [LeetCode]35. 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3…

    数据库 2023年6月9日
    083
  • 使用clipboard.js复制文字+图片到微信后图片不显示问题处理

    使用clipboard.js复制文字 +图片,粘贴到微信不显示图片,而QQ可以。 解决方案: 图片链接使用http,不要使用https。 使用clipboard.js实现复制功能 …

    数据库 2023年6月14日
    0111
  • 设计模式之(12)——外观模式

    外观模式(facadePattern)又叫门面模式,隐藏了子系统的复杂实现,为子系统中的一组接口提供了一个统一的访问入口,使得子系统容易被访问或使用,说白了就是把复杂的子系统封装成…

    数据库 2023年6月14日
    084
  • 不要让“Clean Code”更难维护,请使用“Rule of Three”

    当人们试图将”代码整洁之道(Clean Code)”的原则应用于现有的代码库时,我经常会问这个问题。 我认为这是合情合理的。 当我们开始重构遗留代码时,通常…

    数据库 2023年6月14日
    0104
  • ASP.NET中的Menu控件在谷歌浏览器下显示异常的解决办法

    在App_Browsers文件夹中添加Browsers文件,内容如下: identification >capture >capabilities >contro…

    数据库 2023年6月11日
    083
  • springboot~关于打包时记录当前git信息

    Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录。如果使用的是GIT作为SCM,可以使用 git-c…

    数据库 2023年6月6日
    091
  • leetcode 226. Invert Binary Tree 翻转二叉树(简单)

    一、题目大意 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1…

    数据库 2023年6月16日
    087
  • 分布式全局唯一ID

    方案一、UUID UUID的方式能生成一串唯一随机32位长度数据,它是无序的一串数据,按照开放软件基金会(OSF)制定的标准计算,UUID的生成用到了以太网卡地址、纳秒级时间、芯片…

    数据库 2023年6月9日
    094
  • StoneDB 读、写操作的执行过程

    背景介绍 StoneDB 是一款兼容 MySQL 的开源 HTAP 数据库。StoneDB 的整体架构分为三层,分别是应用层、服务层和存储引擎层。应用层主要负责客户端的连接管理和权…

    数据库 2023年5月24日
    094
  • CentOS之—双网卡双IP双网关配置

    修改对应网卡的DNS的配置文件 <span class=”hljs-section”># vim /etc/resolv.conf</span> 修改以下内…

    数据库 2023年6月11日
    091
  • Digester解析xml原理

    Tomcat内部是使用Digester来解析xml文件的,将xml转化为java对象。 digester底层是基于SAX+事件驱动+栈的方式来搭建实现的,SAX主要用来解析xml,…

    数据库 2023年6月16日
    079
  • 安全生产 系统稳定性建设

    前言 安全是产品的底座,是体验的基础,也是企业的一项核心竞争力。安全生产是一项系统性的工作,同时也是一件比较琐碎的事,需要做方方面面的考虑尽一切可能保障系统安全稳定运行。个人之前一…

    数据库 2023年6月14日
    082
  • 代码优化记录

    代码优化记录 神龟虽寿,犹有竟时。 神龟虽寿 犹有竟时 Original: https://www.cnblogs.com/taojietaoge/p/15853508.htmlA…

    数据库 2023年6月14日
    092
  • MySQL日志

    一、错误日志 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时…

    数据库 2023年5月24日
    0104
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球