linux 完整安装 mysql 5.7 及半路遇到的问题

2024-01-06 15:08

本文主要是介绍linux 完整安装 mysql 5.7 及半路遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、下载   (mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz)

下载mysql:官网下载略慢,可以在CSDN快速下载

2、解压,改名

[root@localhost mysql]# tar -zxfv mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C  /usr/local

[root@localhost mysql]# mv mysql-5.7.31-linux-glibc2.12-x86_64/  mysql-5.7.31

3、创建data文件夹

[root@localhost mysql]# cd mysql-5.7.31/

[root@localhost mysql]# mkdir data

4、查看是否有mysql用户,如果提示不存在,则创建mysql用户

  [root@localhost mysql]# groups mysql
  [root@localhost mysql]# groupadd mysql
  [root@localhost mysql]# useradd -r -s /sbin/nologin -g mysql mysql -d  /usr/local/mysql-5.7.31

5、给mysql用户赋权限

[root@localhost mysql]# chown -R mysql ./

[root@localhost mysql]# chgrp -R mysql ./

[root@localhost mysql]# chown -R mysql:mysql data

6、配置参数

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.31 --datadir=/usr/local/mysql-5.7.31/data

注意:此处会生成一个密码,记得要保存好密码

7、生成mysql密钥对

[root@localhost mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.31/data/mysql

8、复制server文件到指定目录

[root@localhost mysql]# cd support-files/

[root@localhost mysql]# cp mysql.server /etc/init.d/mysql

9、更改server文件中安装目录

[root@localhost mysql]# vi /etc/init.d/mysql

将红框内的内容修改为安装目录地址:

9、此时启动mysql服务可能报错

启动mysql服务指令:

[root@localhost mysql]# /etc/init.d/mysql start

# service mysql start    # mysql服务名就是 /etc/init.d/mysql 中的mysql

# service mysql stop    # mysql服务名就是 /etc/init.d/mysql 中的mysql

# service mysql status    # mysql服务名就是 /etc/init.d/mysql 中的mysql

报错如下,原因是没有mariadb和mariadb.log。

[root@localhost mysql]#  /etc/init.d/mysql start
Starting MySQL.2020-02-13T05:45:18.227723Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/var/lib/mysql/bogon.pid).

创建日志目录及日志文件即可:

[root@localhost mysql]# cd /var/log/

[root@localhost mysql]# mkdir mariadb

[root@localhost mysql]# cd mariadb/

[root@localhost mysql]# touch mariadb.log

10、此时启动mysql服务可能报错:

[root@localhost mysql]# /etc/init.d/mysql start
Starting MySQL.2020-02-13T05:47:39.907062Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/var/lib/mysql/bogon.pid).

修改my.cnf中的配置即可,将mysqld_safe下的配置注释:

11、此时启动mysql服务会显示启动成功

12、必要时可以创建软连接,启动mysql

[root@localhost mysql]# ln -s /usr/local/mysql-5.7.31/bin/mysql  /usr/bin/

13、使用root用户登录mysql,密码就是刚才生成的密码

[root@localhost mysql]# mysql -hlocalhost -uroot -pMC=O3YI>ZEh?Amo
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.31 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]>

 

如果忘记root密码,按如下方法可以进行重置:

① 先修改/etc/my.cnf下配置,添加红框内配置

[root@localhost mysql]# vi /etc/my.cnf

② 重启mysql 

[root@localhost mysql]# service mysql restart

③ 登录 mysql -uroot  直接回车

选择数据库

MySQL [(none)]> use mysql;  记得用 ; 或者\g 结尾

下面修改密码:

以前的版本我们用的是以下修改
MySQL [(none)]>  update user set password=password('root') where user='root';
但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
MySQL [(none)]>  update user set authentication_string=password('123456') where user='root';
执行
MySQL [(none)]> flush privileges;
④ 退出mysql
MySQL [(none)]> \q;
⑤ 将最开始修改的配置文件my.cnf中的skip-grant-tables删除
⑥ 重启mysql,重置完成

 

14、更改root账户密码,创建远程链接

此时已经进入mysql语句界面,输入行显示mysql>,注意sql语句使用分号结尾

MySQL [(none)]> set password=password('123456');

MySQL [(none)]> grant all privileges on *.* to 'root'@'%' identified by 'root';

MySQL [(none)]> flush privileges;

MySQL [(none)]> show databases;

MySQL [(none)]> \q 

 

15、通过navicat或者其他工具远程链接

可能存在无法连接的情况,需要关闭防火墙和SELINUX

# 防火墙关闭

[root@localhost mysql]# systemctl stop firewalld.service

[root@localhost mysql]# systemctl disable firewalld.service

# 关闭selinux

[root@localhost mysql]# setenforce 0

[root@localhost mysql]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

16、设置开机自启

将myslq的server文件加入到自启动列表

[root@localhost mysql]# chkconfig --add /etc/init.d/mysql

查看自启列表

[root@localhost mysql]# chkconfig --list

Note: This output shows SysV services only and does not include native

systemd services. SysV configuration data might be overridden by native

systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.

To see services enabled on particular target use

'systemctl list-dependencies [target]'.

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off

network 0:off 1:off 2:on 3:on 4:on 5:on 6:off

设置自启成功。

 

-----------------------------------至此mysql5.7 成功完成安装。

这篇关于linux 完整安装 mysql 5.7 及半路遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576725

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分