Linux 安装 MySQL 8.0
下载
查看服务器 glibc 版本
[root@localhost ~]# getconf GNU_LIBC_VERSION
glibc 2.34
https://downloads.mysql.com/archives/community/
有些操作系统不支持 2.28 的 glibc 所以为了方便,我这边还是使用的 glibc 2.12 版本
Compressed TAR Archive 包要小一些

安装数据库
[root@localhost tools]# tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz
[root@localhost tools]# mv mysql-8.0.34-linux-glibc2.12-x86_64 /usr/local/mysql-8.0
[root@localhost tools]# cd /usr/local/mysql-8.0/
#创建数据目录 data
[root@localhost mysql-8.0]# mkdir data
#增加用户组 mysql
[root@localhost mysql-8.0]# groupadd mysql
#创建用户 mysql 并添加至用户组 mysql
[root@localhost mysql-8.0]# useradd -g mysql mysql
#将安装目录 /usr/local/mysql-8.0/ 的所有者及所属组改为 mysql:
[root@localhost mysql-8.0]# chown -R mysql:mysql /usr/local/mysql-8.0
修改mysql配置文件(若没有则新建)
[root@localhost mysql-8.0]# vi /etc/my.cnf
输入如下内容:
[mysqld]
bind-address=0.0.0.0
basedir=/usr/local/mysql-8.0
datadir=/usr/local/mysql-8.0/data
port=3306
socket=/tmp/mysql.sock
character_set_server=utf8mb4
lower_case_table_names=1
log-error=/usr/local/mysql-8.0/data/mysql.log
pid-file=/usr/local/mysql-8.0/data/mysql.pid
explicit_defaults_for_timestamp=true
symbolic-links=0
[mysql]
default-character-set = utf8mb4
注意: MySQL 8.0 版本的忽略大小写配置 lower_case_table_names=1 一定要在执行初始化前写在配置文件里
安装并初始化mysql
#进入mysql安装目录的bin目录
[root@localhost mysql-8.0]# cd /usr/local/mysql-8.0/bin
#执行如下命令、这个命令是:指定了默认文件,MySQL的安装目录,数据存放位置,用户是mysql
[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-8.0/ --datadir=/usr/local/mysql-8.0/data --user=mysql --initialize
查看mysql密码
[root@localhost bin]# cat /usr/local/mysql-8.0/data/mysql.log
2025-03-13T07:11:53.531686Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2025-03-13T07:11:53.531766Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0/bin/mysqld (mysqld 8.0.34) initializing of server in progress as process 1229837
2025-03-13T07:11:53.538334Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-03-13T07:11:53.990883Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-03-13T07:12:00.030423Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rP8jl4MslX.0
[root@localhost bin]#
配置启动
/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。
mysql.server放置到/etc/init.d/mysql中
# 添加mysqld服务到系统
[root@localhost bin]# cp -a /usr/local/mysql-8.0/support-files/mysql.server /etc/init.d/mysql
# 启动 MySQL
[root@localhost bin]# service mysql start
Starting MySQL. SUCCESS!
[root@localhost bin]#
登录MySQL
如果出现 ./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 见文章最后的常见问题
# 切换到 bin 目录
[root@localhost bin]# cd /usr/local/mysql/bin
# 这边直接把密码复制到后面,不然单独敲的话麻烦
[root@localhost bin]# mysql -u root -p rP8jl4MslX.0
# 输入之前复制的密码即可进入
# rP8jl4MslX.0
修改密码
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
# 执行 使密码生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
配置远程连接
mysql> use mysql;
mysql> update user set host=’%’ where user = ‘root’;
mysql> flush privileges;
# 退出后重启服务
mysql> exit
Bye
[root@localhost bin]# service mysql restart
配置防火墙
[root@localhost bin]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
# –permanent : 表示使设置永久生效,不加的话机器重启之后失效,
# –add-port=2181/tcp : 表示添加一个端口和协议的规则,
# --zone=public: 作用域(默认为 public 可不加)
# 更新防火墙规则
[root@localhost bin]# firewall-cmd --reload
# 查看所有打开的端口
[root@localhost bin]# firewall-cmd --list-port

常见错误
[root@localhost bin]# ./mysql -uroot -p
./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
[root@localhost bin]# find / -name libtinfo.so\* 2>/dev/null
/usr/lib64/libtinfo.so.6.3
/usr/lib64/libtinfo.so.6
[root@localhost bin]#
通过结果我们可以知道只有 6 的版本,解决方法有两种:一、找一份 5 的版本放在 /usr/lib64 。二、利用软连接使 5 指向 6。
ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5
Linux 安装 MySQL 8.0的更多相关文章
- Linux安装mysql.8.0.12
1. linux安装mysql8.0.12,亲测可用. 以下是安装过程中出现的问题: 1 [root@localtest1 file]# systemctl start mysqld 2 Job fo ...
- Linux 安装 MySQL 8.0.26 超详细图文步骤
1.MySQL 8.0.26 下载 官方网站下载 MySQL 8.0.26 安装包,下载地址: https://downloads.mysql.com/archives/community/ 需要注意 ...
- Linux(CentOS) Mysql 8.0.30 安装(多源安装)
Linux(CentOS) Mysql 8.0.30 安装(多源安装) 安装命令根据实际部署情况修改调整,CentOS一般选择通用版本Red Hat Enterprise Linux 7 本文档使用w ...
- linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题]
linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题] 一.查看mysql是否已经安装 使用“whereis mysql”命令来查看mysql安装路径: [root@h ...
- Linux 安装Mysql(图文教程)
原文:Linux 安装Mysql(图文教程) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...
- 在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0
前段时间在 CentOS 7.5 64位上安装 MySQL 8.0.查了些资料,在这里记录一下详细的安装和设置步骤. 一.安装 使用yum安装MySQL之前需要先下载对应的.rpm文件,下载方法: 去 ...
- 在Ubuntu 18.04 安装 MySQL 8.0
在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...
- linux安装mysql后root无法登录 sql 无法登录
linux安装mysql后root无法登录 问题:[root@localhost mysql]# mysql -u root -pEnter password: ERROR 1045 (28000): ...
- linux安装mysql~~~mysql5.6.12
Linux安装mysql服务器 准备: MySQL-client-5.6.12-1.rhel5.i386.rpm MySQL-server-5.6.12-1.rhel5.i386.rpm 首先检查环境 ...
- linux安装mysql服务分两种安装方法:
linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...
随机推荐
- 在Ubuntu系统上手动安装GCC环境
Ubuntu系统是自带GCC安装指令的apt install gcc,当前apt源中gcc版本为5.4.0,版本太低,推荐手动安装gcc8.3.0 手动安装gcc8.3.0之前需要先确保安装gcc环境 ...
- @EnableWebMvc 注解会让Swagger无效访问的问题
在工作中,通过Swagger2对项目的controller进行配置,以便于用户测试restful服务接口提高开发效率. 但是今天却出现了一个让我匪夷所思的问题就是在配置类里面加上@EnableWebM ...
- MySql 建表出现的问题 : [ERR] 1064 - You have an error in your SQL syntax; check the manual.......
使用 MySql 建表出现的问题 在使用 Navicat Premium 运行 sql 语句进行建表时,MySQL 报错如下: 1064 - You have an error in your SQL ...
- Python 进阶:深入理解 import 机制与 importlib 的妙用
大家好,今天我们来深入探讨 Python 中的导入机制和 importlib 模块.相信不少朋友和我一样,平时写代码时可能只用过最基础的 import 语句,或者偶尔用 importlib.impor ...
- gRPC编译与字段编号的细节探讨
上次我们专门通过一个简单的HelloWorld示例来了解了gRPC的基本概念和使用方法.今天,我们将继续深入探讨gRPC,重点讨论一些在实际应用中需要特别注意的要点.实际上,gRPC的核心目标是简化远 ...
- 优化博客Ⅱ-CDN加速
CDN加速 自从有了第一次博客优化经验,我就越发对优化感兴趣了嘿嘿(✧∇✧). 看着博客首页打开时长为1200ms左右,我又开始琢磨有什么办法能再给网站提提速,让访问时间降低到1000ms以下,这时候 ...
- manim边做边学--动画更新
今天介绍Manim中用于动画更新的3个类,分别是: UpdateFromFunc:根据自定义的函数来动态更新 Mobject 的属性 UpdateFromAlphaFunc:根据动画的进度来平滑地改变 ...
- 题解:AT_abc385_f [ABC385F] Visible Buildings
小学二年级就会的基本一次函数知识. 抽象一下题意: 求 \(n\) 个点 \((X_i, H_i)\) 中任意两个点组成的直线的截距的最大值(不小于 \(0\),\(X_i\) 递增). 先说结论:先 ...
- git撤销远已经push到程服务器上某次提交
git撤销远已经push到程服务器上某次提交 问题: 不小心把一次错误的代码push到远程服务器上的分支上,或者没有merge强制将本地的方法push到git服务器上. 解决方法: 输入 git lo ...
- Zookeeper、Eureka、Consul、Nacos、Etcd全方位对比
前三篇博文分别记录了Eureka.Zookeeper.Consul三个服务中心,那么他们之前有何区别呢? 一: 因为不会同时存在或者同时满足C.A.P三个方面,所以只能存在cp,ap,ca三种体系, ...