详解在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)

大家都在看

  • MySQL 数据库备份脚本

    MySQL 数据库备份脚本 #!/bin/bash 数据库连接信息 DB_HOST="127.0.0.1" DB_PORT="3306" D…

    数据库 2023年5月24日
    0113
  • 线程池使用InheritableThreadLocal出现数据脏乱分析和解决方案

    背景 在测试环境上遇到一个诡异的问题,某些业务场景需要记录操作日志,有段时间发现记录的数据会被覆盖,例如当前用户的操作记录会被其他用户覆盖;这个现象是每次重启服务后一小段时间内就正…

    数据库 2023年6月6日
    0159
  • FastDFS分布式文件系统简介

    1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高…

    数据库 2023年6月14日
    0130
  • MySQL max() min() 函数取值错误

    今天日志出现异常,一步一步debug发现SQL语句返回值出错,进一步发现是max()函数返回出错。点击跳转解决办法,赶时间的朋友可以去获得答案。当然我还是希望大伙看看原由。 sel…

    数据库 2023年5月24日
    0115
  • rsync

    rsync rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 rsync…

    数据库 2023年6月14日
    0119
  • 互联网校招指北

    这篇文章写着写着,突然觉得《紧急救援》中有一句台词很对: “不是幸运给你机会,而是因为够坚持,才有了幸运的机会” 共勉~ 时间跨度 一年共两次校招季,2 月…

    数据库 2023年6月6日
    0118
  • git 清除账号密码缓存

    配置用户名和邮箱: git config –global user.name “username”git config –globa…

    数据库 2023年6月11日
    0115
  • 第18章 MySQL8其它新特性

    第18章 MySQL8其它新特性 1. MySQL8新特性概述 MySQL从5.7版本直&a…

    数据库 2023年6月6日
    0119
  • feign之间传递oauth2-token的问题和解决~续

    之前写过关于修改hystric的隔离《feign之间传递oauth2-token的问题和解决》方式来在feign调用各个微服务中传递token,修改为SEMAPHORE之后,会有一…

    数据库 2023年6月6日
    0125
  • Linux平台Redis安装总结

    本文测试验证的操作系统为CentOS Linux release 7.8.2003 (Core),Redis版本为redis-6.0.8。 敬请注意,如有不同,请以实际情况为准。 …

    数据库 2023年6月11日
    0100
  • DASCTF 熟悉的猫

    压缩包需要密码,不是伪加密,爆破也爆不出来,下面的kdbx文件搜了一下可以用keepass ;打开,但是居然还是需要密码 那这个只能是弱口令或者爆破了,但是纯手工肯定不可取,找了很…

    数据库 2023年6月11日
    0110
  • 第15章 存储过程与函数

    MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即…

    数据库 2023年6月6日
    0119
  • Python递归遍历目录并删除文件中的前N行

    1 import os 2 3 # 遍历目录下的所有文件 4 def check_file(file_path): 5 os.chdir(file_path) 6 print(os…

    数据库 2023年6月14日
    099
  • MySQL的undo日志—MVCC前置知识

    undo日志 前面学习了redo日志,redo日志保证的是崩溃时事务持久性。我们可以从redo日志恢复到系统崩溃以前。 undo日志就是为了保证事务回滚时事务所作所为都能回到事务执…

    数据库 2023年5月24日
    0147
  • go test 的内联问题

    写单测的时候遇到一个问题,在使用 gomonkey 进行打桩时,使用 gland 的 debug 运行测试时,测试程序正常跑通,而使用 run 或者命令行运行 go test -v…

    数据库 2023年6月9日
    0158
  • 创建镜像(alpine版)+alpine

    podman用脚本和dockerfile做apache编译安装镜像 1.0安装介质 2.0 特点 2.0 基础命令 3.0 模式 podman用脚本和dockerfile做apac…

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