Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

news2024/12/23 16:10:46

Linux下安装MySQL8.0的详细步骤

第一步:下载安装配置

第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

第三步:使用Navicat客户端连接


搞了一台云服务器,首先要干的活就是得安装数据库,在Windows下安装不用说,傻瓜式操作,在Linux上安装少说要记录一下。

我使用的是XShell7 ssh 连接工具访问的Linux,其他工具的用法和命令都一样,界面如下:
在这里插入图片描述
在这里我使用的不是root用户登录的,所以先切换到root用户,命令:su

第一步:下载安装配置

  1. 切换到 /usr/local/
cd /usr/local/

 
  1. 创建mysql文件夹
mkdir mysql

 
  1. 切换到mysql文件夹下
cd mysql

 
  1. 下载mysql8.0安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

 

等待下载成功

在这里插入图片描述

  1. 解压mysql8.0安装包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

 

在这里插入图片描述

  1. 重命名解压出来的文件夹,这里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

 
  1. . /use/local/mysql-8.0文件夹下创建data文件夹 存储文件
mkdir data

 
  1. 分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)
groupadd mysql
useradd -g mysql mysql

 
  1. 授权刚刚新建的用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/mysql-8.0/data -R

 
  1. 配置环境,编辑/etc/profile文件

注意:这里有一个坑,在配置完环境变量后,需要执行source /etc/profile命令,使配置文件生效

vim /etc/profile
#--------------------------
#点击键盘上的i键,进入输入模式,在配置文件最后增加一行:
#--------------------------
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
#添加完成后,按Esc键退出输入模式,进入命令模式,输入:wq,保存并退出
#然后在输入cat /etc/profile  查看是否保存成功,效果如下:↓↓↓↓↓↓

 

在这里插入图片描述
11. 编辑my.cnf文件

vim /etc/my.cnf
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
log-bin=/usr/local/mysql/mysql-8.0/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/mysql-8.0/data
innodb_log_group_home_dir=/usr/local/mysql/mysql-8.0/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/mysql-8.0/data/mysql.log
pid-file=/usr/local/mysql/mysql-8.0/data/mysql.pid
#
# include all files from the config directory

 
  1. 切换到/usr/local/mysql/mysql-8.0/bin目录下
cd bin

 
  1. 初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql//mysql-8.0/data/ --initialize
#初始化完成后,复制最后的初始密码,保存下来后面需要(这一步好像并没有用)
#igTn=3j-

 
  1. 复制 mysql.server 文件,在/usr/local/mysql/mysql-8.0目录下执行
cp -a ./support-files/mysql.server /etc/init.d/mysql 
cp -a ./support-files/mysql.server /etc/init.d/mysqld

 
  1. 赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

 
  1. 检查一下/var/lib/mysql是否存在,否则进行创建
mkdir /var/lib/mysql

 
chown -R mysql:mysql /var/lib/mysql/ 

 
  1. 启动数据库,有SUCCESS字眼说明MySQL安装完成
service mysql start 
#出现SUCCESS 说明启动成功,效果图如下:

 

在这里插入图片描述
ps:
如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,
使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start

第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

在这一步最开始就浪费了我好大的时间。如果用之前的初始密码登录,可能会出现以下的错误:
在这里插入图片描述
在这一步的时候,研究了好久,记录一下处理过程:

  • 在 vim /etc/my.cnf文件中,在[mysqld]的段中加上一句:skip-grant-tables --跳过密码验证
  • 然后保存退出,重启MySQL服务
  • 然后输入mysql -uroot -p 敲两下回车,进入mysql
  • USE mysql ; --进入数据库
  • 在mysql8.0 中,这个更新语法不能用UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; 使用这个:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
  • 最后按照下边的步骤进行就可以了。
  1. 修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

 
  1. 执行flush privileges; 使密码生效
flush privileges;#刷新权限

 
  1. 选择数据库
use mysql;

 
  1. 再修改远程连接并生效
mysql> create user 'root'@'%' identified by  'password';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 
  1. 执行提交命令,搞定!
flush privileges;#刷新权限

 

第三步:使用Navicat客户端连接

1.填写IP、端口连接mysql服务

在这里插入图片描述

注:若连接不到可以查看mysql端口是否开放,若未开放则开放端口继续连接,最终测试成功!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/358343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

move_base代码解析(二)MoveBase::planThread

在第一章中第四步执行了planThread函数的线程启动&#xff0c;该步骤会调用planThread函数。这里不是通过函数调用的形式实现的&#xff0c;而是通过线程开关的形式实现的: boost::unique_lock<boost::recursive_mutex> lock(planner_mutex_);//给该线程上锁planner_goal…

117页数字化转型与产业互联网发展趋势及机会分析报告(PPT)

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 产业互联网是以机构组织为主体的…

CentOS7 Hive2.3.9 安装部署(mysql 8.0)

一、CentOS7安装MySQL数据库 查询载mariadb rpm -qa | grep mariadb卸载mariadb rpm -e --nodeps [查询出来的内容]安装wget为下载mysql准备 yum -y install wget在tools目录下执行以下命令&#xff0c;下载MySQL的repo源&#xff1a; wget -P /tools/ https://dev.mysql.…

网络编程学习一

1、初识网络编程2、网络编程三要素3、三要素&#xff08;IP&#xff09;4、IPV4的一些小细节5、Inetaddress类的使用package com.leitao.demo.network;import java.net.InetAddress; import java.net.UnknownHostException;/*** Description: TODO* Author LeiTao* Date 2023/2…

移动WEB开发三、flex布局

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…

企业数字化管理是什么?如何建立企业数字化管理?

企业数字化管理是什么&#xff0c;如何建立企业数字化管理&#xff1f; 01 什么是企业数字化管理&#xff1f; 提到企业数字化管理&#xff0c;就不得不联想到机器自动化、业务流程自动化以及数字处理自动化这三个概念的区别&#xff1a; ​而抛开那些又臭又长的概念解读&…

支持域自适应的可解释网络改进药物-靶标预测

预测药物-靶点相互作用是药物发现的关键。最近基于深度学习的方法表现出良好的性能&#xff0c;但仍然存在两个挑战&#xff1a; 如何明确地建模和学习药物和靶标之间的局部相互作用&#xff0c;以更好地预测和解释&#xff1b;如何优化新型药物-靶标对预测的泛化性能。 在这…

高斯课堂 计算机网络(下)

第四章、网络层 0、第四章导图 1、网络层概述及IP地址&#xff08;上&#xff09; &#xff08;1&#xff09;网络层概述 无连接指的是在网络层这一层次&#xff0c;我们在发送数据的时候&#xff0c;不需要实现建立连接&#xff0c;这种建立连接的可靠性由谁来保证呢&#x…

【Python入门第十三天】Python 元组

元组&#xff08;Tuple&#xff09; 元组是有序且不可更改的集合。在 Python 中&#xff0c;元组是用圆括号编写的。 实例 创建元组&#xff1a; thistuple ("apple", "banana", "cherry") print(thistuple)运行实例 访问元组项目 您可以通…

【Mysql】存储过程

【Mysql】存储过程 文章目录【Mysql】存储过程1.存储过程1.1 存储过程概述1.2 特点1.3 基本语法1.3.1 创建1.3.2 调用1.3.3 查看1.3.4 删除1.4 变量1.4.1 系统变量1.4.2 用户定义变量1.4.3 局部变量1.5 if1.6 参数1.7 case1.8 循环1.8.1 while1.8.2 repeat1.8.3 loop1.9 游标1.…

keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验过程1.某台Real Server down2.LVS本身down方法&#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置总结前言 一、Keepalived简介 Keepali…

【深度学习】训练模型结果同时显示,模型结果对比

码字不易&#xff0c;如果各位看官感觉该文章对你有所帮助&#xff0c;麻烦点个关注&#xff0c;如果有任何问题&#xff0c;请留言交流。如需转载&#xff0c;请注明出处&#xff0c;谢谢。 文章链接&#xff1a;【深度学习】训练模型结果同时显示&#xff0c;模型结果对比_莫…

Python - 绘制人体生物节律

文章目录项目说明关于人体生物节律用到的技术代码实现获取每月有多少天计算每天到生日过了多少天计算节律绘图结果项目说明 这里仿照 http://www.4qx.net/The_Human_Body_Clock.php 做一个人体生物节律的计算和展示 关于人体生物节律 百度/维基百科 解释 https://zh.wikiped…

DaVinci 偏好设置:系统 - 内存和 GPU

偏好设置 - 系统/内存和 GPUPreferences - System/Memory and GPU内存和 GPU Memory and GPU 选项卡提供了内存配置以及 GPU 配置的相关设置。内存配置Memory Configuration系统内存System Memory列出了所用电脑的总的可用内存。限制 Resolve 内存使用到Limit Resolve memory u…

Java中如何创建和使用对象?

要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象&#xff0c;具体格式如下&#xff1a;类名对象名称null; 对象名称new 类名();上述格式中&#xff0c;创建对象分为声明对象和实例化对象两步&#xff0c;也可以直接通过下面的方式创建对象&#xff0c;具…

从 ClickHouse 到 Apache Doris,腾讯音乐内容库数据平台架构演进实践

导读&#xff1a;腾讯音乐内容库数据平台旨在为应用层提供库存盘点、分群画像、指标分析、标签圈选等内容分析服务&#xff0c;高效为业务赋能。目前&#xff0c;内容库数据平台的数据架构已经从 1.0 演进到了 4.0 &#xff0c;经历了分析引擎从 ClickHouse 到 Apache Doris 的…

H5使用微信JSSDK的wx.chooseImage进行多文件上传

背景&#xff1a;项目需要用H5做一个上传多图片合成的功能页面&#xff0c;这里我先做了调查&#xff0c;调查结果是安卓在微信内核不能使用传统的input file进行多文件上传&#xff0c;只能限制每次上传一张&#xff0c;ios则不限制&#xff0c;所以H5想在微信内核进行多图片上…

实验室三维磁场电磁铁的主要用途及技术指标

产品用途&#xff1a; 北京锦正茂科技有限公司自主研发的多极电磁铁以四极电磁铁居多&#xff0c;也有五极、六极、八极等多极的应用&#xff0c;主要应用于磁滞现象研究、磁化系数测量、霍尔效应研究、磁光实验、磁场退火、核磁共振、电子顺磁共振、生物学研究、磁性测量、磁性…

实力见“证”:Tapdata 技术创新与发展潜力广受认可

Tapdata 积极拥抱各种“不确定”&#xff0c;变中求新&#xff0c;只为呈现出更加好用的产品。 而 Tapdata 在专业领域不断深耕&#xff0c;持续打磨产品能力的同时&#xff0c;也收获了诸多来自外界的肯定&#xff0c;从用户到投资人&#xff0c;从生态伙伴到技术媒体以及官方…

【Mysql系列】Mysql之窗口函数

适用场景 窗口函数适用场景: 对分组统计结果中的每一条记录进行计算的场景下, 使用窗口函数更好, 注意, 是每一条&#xff1b;因为MySQL的普通聚合函数的结果(如 group by)是每一组只有一条记录。 准备数据 创建表 create table app_product (id bigint auto_in…