deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
作者:蓬松-西兰花 发布时间:2024-01-25 14:26:21
下载MySQL-8.0.23
点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
解压MySQL的安装包到一个目录(这里我选择的是:/usr/local)
sudo tar -Jxv -f /home/×××shanlin/Downloads/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
注意:/home/×××shanlin/Downloads/ 是我的浏览器保存文件的目录
创建软链接(操作方便:可以认为是给mysql-8.0.23-linux-glibc2.12-x86_64目录起了一个别名叫mysql)
sudo ln -s /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64 mysql
创建一个目录负责存储MySQL的数据(/data/mysql/data)和生成数据库的连接文件mysql.sock(/var/run/mysqld)
sudo mkdir -p /data/mysql/data
sudo mkdir -p /var/run/mysqld
创建mysql用户组和用户
sudo groupadd mysql
sudo useradd -r -g mysql mysql
给 /data/mysql/data 和 /var/run/mysqld 目录赋予权限
sudo chown mysql:mysql -R /data/mysql/data
sudo chown mysql:mysql -R /var/run/mysqld
创建一个my.cnf文件
通过 which mysqld 命令来查看mysqld的位置:我的是 /usr/local/mysql/bin/mysqld,然后通过 /usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 ‘Default options' 命令来查看my.cnf可以创建的位置:
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf
查看/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/mysql/etc/my.cnf、/usr/local/mysql/my.cnf 如果都没找到my.cnf文件,就在 /usr/local/mysql/ 创建一个新的my.cnf文件,下面是my.cnf文件内容:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/var/run/mysqld/mysqld.sock
log-error=/data/mysql/data/mysql.err
pid-file=/data/mysql/data/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
default_authentication_plugin=mysql_native_password
#解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
#直接用vim创建my.cnf并写入上面的内容
sudo vim /usr/local/mysql/my.cnf
配置MySQL的环境变量
#mysql
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME
#把上面的内容写在profile文件的最后
sudo vim /etc/profile
#环境变量立即生效
sudo source /etc/profile
安装MySQL
sudo /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize
正常安装后,最后会显示 :
A temporary password is generated for root@localhost: x2yfhWE>0FiR (冒号后是随机密码,每个人都不同)
记住冒号后的随机密码
开启MySQL服务
sudo /usr/local/mysql/support-files/mysql.server start
将MySQL进程放入系统进程中
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
在 /usr/bin 下建立指向MySQL的软连接
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
使用随机密码登录MySQL数据库
mysql -u root -p
为root用户设置新密码
alter user 'root'@'localhost' identified by '123456';
来源:https://blog.csdn.net/m0_48642619/article/details/113091140


猜你喜欢
- 一、安装mod_wsgi 3.4:./configure --with-apxs=/Users/levin/dev/apache2.2.27
- 有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口研究了一下WxPython ,实现了这个功能。# cod
- 这些小东西是我在网上看到的就把它记下来了,可能以后会有用的: &nbs
- 层叠样式表(css)是Web设计的一种语言,CSS的下一代版本CSS3已经蓄势待发。你是否可望开始使用它们却又不知从何下手呢?虽然还有一些新
- GeoJson的简要介绍GeoJson是用json的语法表达和存储地理数据,可以说是json的子集。GeoJson以键值对的形式保存原有对象
- 程序用例:a=[[1,2],[4,5]]b=[0]*len(a)d=0*len(a)print("len(a)=",le
- 前言最近在写行为识别的代码,涉及到两个网络的融合,这个融合是有加权的网络结果的融合,所以需要对网络的结果进行加权(相乘)和融合(相加)。最初
- 1.项目目录及文件说明:manage.pydjango中的一个命令行工具,管理django项目;__init__.py空文件,告诉pytho
- 这是由十几位视觉设计师设计的挂历,每个月份都是不同的风格,就像每个月都有不同温度和心情一样,思维跳跃性很大,可以作为挂历设计参考。当然,如果
- series: [{ &nbs
- 定义链表node结构:class ListNode: def __init__(self,data):
- 近期有个需要进行音频转码的小任务需要用到ffmpeg,安装和使用的过程中遇到了很多问题没有办法解决,从网上找了各种教程也是一言难近,本文二哥
- 在 go 的标准库中,提供了 sync.Cond 这个并发原语,让我们可以实现多个 goroutine 等待某一条件满足之后再继续执行。 它
- PHP implode() 函数实例把数组元素组合为一个字符串:<?php $arr = array('Hello',
- 本文实例讲述了Python过滤列表用法。分享给大家供大家参考,具体如下:过滤列表[mapping-expression for elemen
- django提供文件下载时,若果文件较小,解决办法是先将要传送的内容全生成在内存中,然后再一次性传入Response对象中:def simp
- asp禁止站外盗链,站外提交方法、以及asp判断星期几方法.防盗链,主要通过判断上一页面来源是否是本站来实现的,不是本站的链接就
- 我为 Compose 写了一个波浪效果的进度加载库,API 的设计上符合 Compose 的开发规范,使用非常简便。1. 使用方式在 roo
- 本文实例讲述了Python实现的递归神经网络。分享给大家供大家参考,具体如下:# Recurrent Neural Networksimpo
- 前言Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重