MySQL8.0.0.28数据库安装配置

news2024/9/29 5:37:54

MySQL8.0.0.28数据库安装配置

1. 安装前的准备工作

1.1 确认目前服务器上是否存在MySQL

命令:rpm -qa | grep mysql

说明:若返回空信息,就说明当前环境没有安装MySQL;直接跳到第4步操作后续。

1.2 检查当前环境是否有自带的mariadb数据库

命令:rpm -qa | grep mariadb

说明:若返回空信息,就说明当前环境没有安装mariadb;跳到下面的步骤安装。

若存在mariadb则删除

命令:rpm -e --nodeps 安装包

2. 通过压缩包的方式安装

2.1 下载MySQL安装包

在联网的地方访问mysql下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

参数选择如下:

  • Product Version: 8.0.28

  • Operating System: Linux - Generic

  • OS Version: Linux - Generic (glibc 2.12) (x86, 64-bit)

在这里插入图片描述

大家可以在Linux中使用 uname -a的命令查看目前Linux系统的架构和系统信息。根据这个来选择MySQL下载包。

2.2 上传到目标服务器(xftp)
2.3 在服务器解压下载的安装包
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
2.4 修改解压后的名称

迁移目录并重命名

mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
2.5 创建存放数据的目录
mkdir -p /data/mysql
2.6 创建用户用户组,并将创建的用户添加到用户组中
# 创建用户组

groupadd mysql 

# 创建用户mysql(mysql)并将用户添加到用户组(mysql)中

useradd -g mysql mysql 
2.7 给mysql用户赋予权限
chown mysql:mysql /data/mysql
2.8 修改mysql配置文件(若没有则新建)
vim /etc/my.cnf

新增如下(可以根据自身情况进行配置):

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

log-error=/data/mysql/mysql.err

pid-file=/data/mysql/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true
2.9 安装并初始化mysql

(1)进入mysql安装目录的bin目录

cd /usr/local/mysql/bin

(2)执行如下命令
这个命令是:指定了默认文件,MySQL的安装目录,数据存放位置,用户是mysql

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
2.10 查看mysql默认密码
cat /data/mysql/mysql.err
2.11 先将mysql.server放置到/etc/init.d/mysql中

/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

2.12 启动mysql
service mysql start
2.13 查看MySQL的进程
ps -ef|grep mysql

3. 修改root账号密码

3.1 切换到mysql的安装目录的bin下
cd /usr/local/mysql/bin
3.2 登录mysql
#  输入密码登录
./mysql -u root -p

ps:如果输入上面的看到的密码不能登录或者不想输入密码登录 我们可以在my.cnf中设置跳过密码验证直接登录,在my.cnf添加skip-grant-tables,然后重启mysql,service mysql restart。重启之后输入登录mysql的命令之后,提示输入密码的时候直接回车即可。

3.3 登录成功,使用sql命令修改root账号密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 刷新权限
flush privileges;

退出mysql;exit

3.4 验证密码是否修改成功

如果你之前采用了 skip-grant-tables方式,记得一定得将这个在my.cnf中注释。然后重启mysql即可。

(1)注释skip-grant-tables

(2)重启mysql
service mysql restart
(3)登录MySQL
./mysql -u root -p

登录成功,说明密码修改成功。

4. 开启mysql允许远程访问

  1. 登录MySQL
    Ps:在MySQL的安装目录下bin目录使用如下命令

​ ./mysql -u root -p

  1. 查看所有数据库
    show databases;

  2. 切换到mysql数据库
    use mysql;

  3. 使用命令开启任何主机都能远程访问MySQL
    update user set host=‘%’ where user=‘root’;

  4. flush privileges;刷新权限

​ 退出mysql;exit

5. 检查安装路径和安装环境是否正常

mysqldump 是 MySQL 提供的一个命令行工具,用于备份和导出 MySQL 数据库。

6. 添加MySQL环境变量

添加环境变量后,便可以在任何目录使用mysql命令

若没有则需要手动添加到环境变量中。

打开profile文件

vi /etc/profile

在最后添加一行

export PATH=$PATH:/usr/local/mysql/bin

重新加载配置文件

source /etc/profile

7. 到此MySQL的安装和基本配置就完成了。

8. 安装配置中异常解决

8.1 今天为创建的root 用户授予相关权限提示如下错误:

mysql> grant all privileges on test.* to root@‘%’ identified ‘123456’;
提示如下错误:ERROR 1064(4200): you have an error in you SQL syntax; **near ‘identified ‘123456’’ at line 1
查询MySQL8 相关授权资料的得知,分配权限不能带密码。

修改后的指令如下:

mysql > grant all privileges on test.* to root@‘%’
提示的错误信息如下:You are not allowed to create a user with GRANT;
产生用户不能授权的原因是mysql 数据库中user 表中的特定用户(root) 的host 的属性值为localhost.

解决办法如下:

登录MySQL

  1. 使用mysql 数据库

​ mysql > use mysql;

  1. 特定用户的host 修改

​ mysql > update user set host=‘%’ where user=‘root’;

  1. 指定用户的授权

​ mysql > grant all privileges on test.* to root@‘%’

在”MyBttis的下载和使用“结尾中有提到如果底层使用的是MySql数据库,那么我们还需要将MySql数据库的驱动.jar包添加到应用程序的类路径中。

9. MySQL8.0 connector JAR包的下载位置

下载地址:MySQL :: Download Connector/J
https://dev.mysql.com/downloads/connector/j/

需在页面中Select Operating System选项中找到Platform Independent点击,会跳转到下载页面;

选择mysql-connector-java-8.0.26.zip下载即可。

注:时间的不同,页面显示的版本可能有所不同
MySQL Product Archives
MySQL Connector/J (Archived Versions)
Please note that these are old versions. New releases will have recent bug fixes and features!
To download the latest release of MySQL Connector/J, please visit MySQL Downloads.

Product Version: 8.0.28

Operating System: Platform Independent

在软件开发的上下文中,General Availability (GA) Releases 通常指的是软件的稳定发行版,也称为正式版或最终版(Final)1。这个版本的软件已经完成了所有的开发工作,经过了充分的测试,并修复了大部分已知的错误(BUG)。GA版本的软件被认为是适合广泛用户使用的,因为它提供了稳定的功能和性能。

相比之下,Archives Product Information 通常指的是存档的产品信息。这可能包括旧版本的软件、文档、更新日志等,这些信息被保留下来供用户参考或下载。Archives Product Information 对于那些需要访问旧版本软件或文档的用户来说非常有用,特别是当新版本软件不再兼容他们的系统或工作流程时。
“Operating System: Platform Independent” 指的是某个软件或应用程序能够在多种不同的操作系统上运行,而不需要针对每个特定的操作系统进行单独的编译或配置。这种软件通常被设计为跨平台(Cross-platform)或可移植(Portable)的,以便它可以在Windows、macOS、Linux等多种操作系统上无缝运行。

下载并解压mysql-connector-java-8.0.28.zip压缩包,会得到一个名为mysql-connector-java-8.0.28的文件夹。

文件夹下包含的文件(底层使用的是MySql数据库,我们需要引入Mysql数据库驱动的核心包):

  1. Mysql 8.0 的JDBC配置
    com.mysql.cj.jdbc.Driver 和com.mysql.jdbc.Driver 这两者到底有什么区别呢?

本质区别:驱动类不同

com.mysql.jdbc.Driver 是 mysql-connector-java 5版本中的
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6版本及以上中的

以创建MyBatis的核心配置文件为例

<?xml version="1.0" encoding="UTF-8" ?>

1.在使用com.mysql.jdbc.Driver时,配置是需要下面这样的:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=root

2.MyBatis在使用com.mysql.cj.jdbc.Driver时,配置是需要下面这样的:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=toot

变化主要在两点, 分别是 , 以及获得连接的URL配置;

注意:

需要指定时区(serverTimezone=UTC)

“jdbc:mysql://localhost:3306/db3?serverTimezone=UTC” 这句话必须设置, 但是设置UTC时间(世界统一时间), 会比北京时间早8个小时, 也就是说,北京2021年9月10日18点的时候,UTC时间为2020年3月20日10点。

如果在中国,serverTimezone=可以选择设置为Asia/Shanghai或者Asia/Hongkong。

以上配置会使得Maven在下载依赖时,优先从阿里云的镜像地址进行下载,从而提高下载速度和效率。

--------------------------------欢迎关注--------------------------------

在这里插入图片描述

--------------------------------欢迎关注--------------------------------

​ 在下为编程界一名小学生,在此记录编程路上一些所得,分享点滴技术,探讨人生百态。文章若有不足之处,欢迎批评指正。文章若予您有些许帮助,实属荣幸,望关注,点赞,转发让更多的伙伴看到它。

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

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

相关文章

系统编程-文件属性和目录操作

4 文件属性和目录操作 一、目录操作 -- 目录操作主要的目的&#xff1a;让程序知道路径下有什么文件存在 -- 注&#xff1a;程序在哪里运行他的工作路径就在哪里 &#xff0c;程序中所有的相对路径的文件就是基于工作路径来实现的 1、获取当前程序运行的工作路径 -- 函数头…

爬取豆瓣TOP250电影详解

一.分析网页DOM树结构 1.分析网页结构及简单爬取 豆瓣&#xff08;Douban&#xff09;是一个社区网站&#xff0c;创立于2005年3月6日。该网站以书影音起家&#xff0c;提供关于书籍、电影、音乐等作品的信息&#xff0c;其作品描述和评论都是由用户提供&#xff08;User-Gen…

MATLAB 手动实现一种高度覆盖值提取建筑物点云的方法(74)

专栏往期文章,包含本章 MATLAB 手动实现一种高度覆盖值提取建筑物点云的方法(74) 一、算法介绍二、算法实现1.代码2.效果总结一、算法介绍 手动实现一种基于高度覆盖值的建筑物点云提取方法,适用于高大的城市建筑物,比只利用高度提取建筑物的方法更加稳定和具有价值,主要…

NC 丑数

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 把只包含质因…

Linux_Shell三剑客grep,awk,sed-08

三剑客的概述&#xff1a; awk、grep、sed是linux操作文本的三大利器&#xff0c;合称文本三剑客&#xff0c;也是必须掌握的linux命令之一。三者的功能都是处理文本&#xff0c;但侧重点各不相同&#xff0c;其中属awk功能最强大&#xff0c;但也最复杂。grep更适合单纯的查找…

英伟达开源 Nemotron-4-4B:小型模型,大能量

前沿科技速递&#x1f680; 在人工智能领域&#xff0c;语言模型已经成为推动自然语言处理&#xff08;NLP&#xff09;进步的关键力量。然而&#xff0c;随着模型规模的不断扩大&#xff0c;训练和部署这些大型语言模型&#xff08;LLM&#xff09;的资源成本也在急剧增加。为…

2024年8月 trueNas 容器端口只能设置大于9000问题解决

前言 这两天在搭建个人nas&#xff0c;想顺便在局域网搭建一个dns服务器&#xff0c;我采用的是jpillora/dnsmasq的docker镜像搭建的&#xff0c;但是遇到一个问题始终无法解决容器端口必须大于9000&#xff0c;而dns使用的端口是53是改不了的&#xff0c;找了很多资料发现有老…

地图相册系统的设计与实现

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

Transformer 中自注意力机制的 一些细节理解

摘自知乎博主https://www.zhihu.com/question/362131975/answer/2182682685?utm_oi78365163782144 作者&#xff1a;月来客栈 链接&#xff1a;https://www.zhihu.com/question/362131975/answer/2182682685 1. 多头注意力机制原理 1.1 动机 首先让我们先一起来看看作者当…

IP SSL证书快速申请教程

在互联网安全领域中&#xff0c;SSL证书是比较普遍的传输数据加密方式之一。SSL证书通过建立加密通道&#xff0c;确保客户端与服务器之间传输的数据不被第三方窃取或篡改。而大多数SSL证书&#xff0c;如单域名SSL证书、多域名SSL证书以及通配符SSL证书&#xff0c;在申请时必…

颇为实用的现代化开源数据表格GristCore

GristCore&#xff1a;用Grist&#xff0c;让数据自动化&#xff0c;让工作更智能。 - 精选真开源&#xff0c;释放新价值。 概览 Grist-core项目是Grist的心脏&#xff0c;是一个创新的在线数据协作平台&#xff0c;它突破了传统电子表格的局限&#xff0c;引入了先进的自动化…

宋仕强论道之效率与成本的关系

宋仕强论道之效率与成本的关系中说&#xff0c;效率于企业的意义重大&#xff0c;一是技术发展和应用带来效率提高&#xff0c;农耕文明与工业时代分别以铁制农具应用和电气化为标志。在现阶段&#xff0c;人工智能&#xff08;AI&#xff09;是目前最有效的新技术&#xff0c;…

Linux找回root密码,帮助指令

目录 找回root密码 帮助指令 man获得帮助指令 help指令 应用实例 找回root密码 进入开机界面&#xff0c;输入e进入编辑界面。 在指定位置输入init/bin/sh 再输入ctrlx进入单用户模式。 最后输入passwd修改密码。 帮助指令 man获得帮助指令 man ls后可以看到很多指令以…

【leetcode】相交链表-25-1

方法&#xff1a;遍历 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {…

Gene_processing_system-v2.0使用之环境变量配置

Gene_processing_system-v2.0环境变量配置 在D盘路径解压上述文件《Gene_processing_system-v2.0.zip》&#xff0c;解压后&#xff0c;对内置Python3.9环境变量进行配置。操作如下&#xff1a; 环境变量配置 第一步&#xff1a;复制python3.9路径值&#xff0c;复制路径值为…

【MySQL】数据的基本操作(CRUD)

系列文章目录 例如&#xff1a;第一章 数据库基础 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、对数据简单操作新增操作 (create)查询操作(select)模糊查询分页查询修改操作(update)删除操…

C 开源库之cJSON

cJSON简介 CJSON库是一个用于解析和生成JSON数据的C语言库。 它提供了一组函数&#xff0c;使得在C语言中操作JSON数据变得简单而高效。 您可以使用CJSON库来解析从服务器返回的JSON数据&#xff0c;或者将C语言数据结构转换为JSON格式以进行传输。 cJSON 使用 官网地址&…

JAVA同城找搭子同城交友系统小程序源码

&#x1f308;【同城搭子交友系统】—— 遇见你的城市小确幸✨ &#x1f46d; 城市喧嚣中的温暖邂逅 在繁忙的都市生活中&#xff0c;你是否常常感到孤单&#xff0c;渴望有那么几个志同道合的朋友&#xff0c;一起探索这座城市的每一个角落&#xff1f;&#x1f3d9;️ 同城…

【机器学习-监督学习】逻辑斯谛回归

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

【前端 23】用Less优化你的CSS书写体验

用Less优化你的CSS书写体验 Less&#xff08;Leaner Style Sheets&#xff09;是一种CSS预处理器&#xff0c;它扩展了CSS的功能&#xff0c;引入了变量、嵌套规则、混合&#xff08;Mixins&#xff09;、运算等特性&#xff0c;使得CSS编写更加灵活和强大。下面&#xff0c;我…