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

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决