在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来

需要说明的一点是我使用的是SSH secure shell Client连接linux系统的,它的用法和命令窗口差不多。界面如图:一样的使用Linux命令操作。

话不多说
第一步:
1)、切换到 /use/local下

cd /use/loca

2)、创建mysql文件夹

mkdir mysql

3)、切换到mysql文件夹下

cd mysql

4)、下载mysql8.0安装包

 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

如果执行没反应,可以复制安装包链接在Windows的浏览器下载好,再用SSH移到 /use/local/mysql文件夹下面(这个时候就提现出了SSH的便利性)

5)、解压mysql8.0安装包

切换到 /use/local/mysql文件夹下面,执行命令
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

6)、重命名解压出来的文件夹,这里改成mysql-8.0

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

7)、/use/local/mysql文件夹下创建data文件夹 存储文件

mkdir data

8)、
分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)

groupadd mysql
useradd -g mysql mysql

9)、授权刚刚新建的用户

chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/data -R

10)、配置环境,编辑/etc/profile文件
vim /etc/profile

在最后一行加
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
(新手提示:添加完之后,换行,打出“:sq”,用来保存文件并退出)
11)、编辑my.cnf文件

vi /etc/my.cnf

按下面复制进去就好了,#号开头的不用管,一样,添加完之后,换行,打出“:sq”,用来保存文件并退出

[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/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/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/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid#
# include all files from the config directory

12)、切换到/usr/local/mysql/mysql-8.0/bin目录下

cd bin

13)、初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize

如图,复制出红框的初始密码,保存到本地,后面需要使用到。
ISSUE:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令。

14)、复制 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

15)、赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

16)、检查一下/var/lib/mysql是否存在,否则进行创建

mkdir /var/lib/mysql

然后再赋予权限

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

17)、启动数据库,有SUCCESS字眼说明MySQL安装完成

service mysql start

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

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

1)、修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

2)、执行flush privileges; 使密码生效

flush privileges;

3)、选择数据库

 use mysql;

4)再修改远程连接并生效

update user set host='%' where user='root';

5)执行提交命令,搞定!

flush privileges;

最后就可以使用root账号去登录mysql了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。

题外:
给mysql创建新的数据库用户并授予权限

1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问
CREATE user 'mysql'@'%';
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021'; 2)创建新的数据库
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;3)把新的数据库授权给新用户
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
grant all privileges on test.* to "tcl"@"%";4)、刷新权限
flush privileges;

MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细相关推荐

  1. Linux 环境变量配置全攻略,超详细~

    感谢您抽出 . . 阅读本文 Linux是多用户的任务系统,对于每个用户都可以指定特定的用户变量.针对不同程序在不同的环境下运行就需要修改环境变量进行定制,本文介绍 Linux常见的环境变量设置方法, ...

  2. linux环境安装mysql8.0以及使用Navicat连接Linux中的mysql

    目录 一.linux环境安装mysql 二.使用Navicat连接Linux中的mysql 一.linux环境安装mysql 1.官网下载mysql对应的包,我这下载的是8.0.28版本.官网链接:M ...

  3. linux login 安装桌面,Linux_Ubuntu Linux下安装配置fluxbox桌面环境,安装   基本系统Ubuntu 7.10 G - phpStudy...

    Ubuntu Linux下安装配置fluxbox桌面环境 安装 基本系统Ubuntu 7.10 Gutsy,Xfce桌面.直接安装源里的fluxbox: aptitude install fluxbo ...

  4. Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙(步步亲测有效)

    Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙 零:综述 一.windows10系统的安装 1.准备工作 2.制作启动盘 3.修改启动设 ...

  5. 在Linux环境安装memcached

    2019独角兽企业重金招聘Python工程师标准>>> 1.memcached的安装依赖libevent-dev组件,先安装这个组件 在Linux环境安装memcached 2.下载 ...

  6. Linux环境安装、卸载Docker

    Linux环境安装.卸载Docker 安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包 ...

  7. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab

    Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...

  8. Docker教程(二) Docker环境安装

    Docker教程(二) Docker环境安装 本文链接:https://blog.csdn.net/yuan_xw/article/details/77248243 Docker教程(二) Docke ...

  9. EOS中JAVA从Linux下载文件,教程 - 在Linux上安装EOS

    你想学习如何在Linux上安装EOS? 在本教程中,我们将向您展示如何在运行Ubuntu Linux的计算机上安装EOS. EOS相关教程: 在此页面上,我们提供了与EOS.IO相关的教程列表的快速访 ...

  10. Linux环境安装curl

    Linux环境安装curl 1. 下载安装(版本可以参考官网:curl) wget http://curl.haxx.se/download/curl-7.20.0.tar.gz tar -zxf c ...

最新文章

  1. JavaScript 工作原理之十一-渲染引擎及性能优化小技巧
  2. C++11 并发指南三(std::mutex 详解)
  3. Android studio 刷新文件状态
  4. oracle定时器在项目中的应用
  5. linux6.5 安装yum,配置Centos 6.5的yum源
  6. foreach和IEnumerable+yield和IEnumerator
  7. 香辣弹簧:自动接线的不同方法
  8. edger多组差异性分析_简单使用DESeq2/EdgeR做差异分析
  9. 《 Docker 技术入门与实战 》读书笔记 ( CentOS 安装 Docker )
  10. 初试Node —— node.js的安装
  11. C# CommandName四个属性
  12. ds18b20温度转换c语言,DS18B20 测温程序完全解读
  13. STM32 GPIO模拟I2C的SHT20温湿度采样
  14. 第7章第25节:双图排版:两张图片横竖交错叠加排版 [PowerPoint精美幻灯片实战教程]
  15. 【渝粤题库】国家开放大学2021春1062文学英语赏析题目
  16. Android 音视频采集那些事
  17. SSL连接是什么意思
  18. 字体设计编辑软件Glyphs 2 for mac中文版v2.6.6(1350)
  19. 应届生毕业不满一年,从被裁到成功上岸,亲身经历告诉你如何自渡?
  20. 计算机和打印机无法连接不上,电脑和打印机连接不上怎么回事

热门文章

  1. 查找算法——俄罗斯轮盘赌算法(看谁运气不好)
  2. 关于MFC 绘制背景闪烁
  3. C++库函数——sort
  4. IBM小型机AIX操作系统总结02--软件安装
  5. 大白话了解TCP协议:经典——三次握手数据传输 四次挥手
  6. html 鼠标经过时显示,css 如何实现当鼠标滑过超链接出现提示框呢?
  7. 《长安十二时辰》静安司上云,云计算有杀手锏
  8. 第九天:按键及中断原理
  9. 分布式通信:远程调用
  10. n1 c语言程序,C语言基础编程练习