Redhat8.6安装MySQL8.0.31

下载安装包链接
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

下载安装包

bash 复制代码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

1.解压文件

bash 复制代码
tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

2.移动到合适的目录

bash 复制代码
sudo mv mysql-8.0.31 /usr/local/mysql

3.在/usr/local/mysql目录下新建一个etc文件夹

bash 复制代码
mkdir etc

4.创建my.cnf文件

bash 复制代码
touch my.cnf

5.授予权限

bash 复制代码
chmod 644 /usr/local/mysql/etc/my.cnf

6.编辑my.cnf文件,填入以下内容

bash 复制代码
vim my.cnf
复制代码
[mysqld]
default-time-zone='+08:00'
bind-address=0.0.0.0
port=46033
user=mysql
socket=/tmp/mysql46033.sock
pid_file=/data/mysql/data/data_46033/data/my.pid
basedir=/usr/local/mysql
datadir=/data/mysql/data/data_46033/data
#character config
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
symbolic-links=0
log-error=/data/mysql/data/data_46033/logs/mysql46033.err
log_bin = /data/mysql/data/data_46033/binlog/mysql-bin
relay_log = /data/mysql/data/data_46033/relaylog/relay-bin
slow_query_log_file = /data/mysql/data/data_46033/logs/slow.log
slow_query_log=on
server-id=6
#innodb settings
innodb_buffer_pool_size=128M
#skip-grant-tables
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
lower_case_table_names=1
default_authentication_plugin=mysql_native_password

[mysql]
socket = /tmp/mysql46033.sock
#plugin-load=validate_password.so
#validate-password=FORCE_PLUS_PERMANENT

7.创建一个data目录

复制代码
mkdir -p /data/mysql/data/data_46033

8.在data里建立这个四个目录

复制代码
cd /data/mysql/data/data_46033/
mkdir binlog
mkdir logs
mkdir data
mkdir relaylog

9.创建mysql 用户组和用户

复制代码
groupadd mysql
useradd -r -g mysql mysql

10.赋予权限

复制代码
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql/data

11.MySQL初始化

复制代码
cd /usr/local/mysql/bin
./mysqld --defaults-file=/usr/local/mysql/etc/my.cnf  --initialize-insecure

12.启动MySQL

复制代码
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf &

13.查看是否启动成功

复制代码
ps -ef|grep mysql

14.配置环境变量

复制代码
vim /etc/profile +
将下面内容添加到最后一行
export PATH=/usr/local/mysql/bin:$PATH

15.从新加载配置文件

复制代码
source /etc/profile

16.设置密码(不需要输入密码直接回车)

复制代码
mysql -S /tmp/mysql46033.sock -u root -p

17.配置远程连接&修改密码

复制代码
配置远程连接
update user set Host='%' where User='root';
修改MySQL管理员密码
ALTER USER 'root'@'%' IDENTIFIED BY 'rootCX123#@!';
刷新权限
flush privileges;

创建临时超级用户
create user 'mongolia'@'%' identified by 'mongoliaCX123#@!';
授权所有特权
GRANT ALL PRIVILEGES ON *.* TO 'mongolia'@'%' WITH GRANT OPTION;
刷新权限
flush privileges;

注意:修改密码后,可能会启动失败。
解决方法如下:
1.执行ps aux |grep mysqld
2.杀死进程
kill -9  进程号
3.重新启动MySQL
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf &



# Redhat8.6安装MySQL8.0时提示libncurses.so.5不存在的解决方案
问题1: 缺少libncurses.so.5
find / -name 'libncurses*'
解决方法是创建一个指向高版本库文件的符号链接(软链接),模拟出libncurses.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

问题2: 缺少libtinfo.so.5
find / -name 'libtinfo.so*'
处理方法,创建一个指向libtinfo.so.6的符号链接来解决问题
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
相关推荐
imDwAaY17 分钟前
Redis 也能做消息队列?从 Stream 的存储讲到消费确认
数据库·redis·缓存
91刘仁德20 分钟前
Linux网络编程从入门到实战:UDP/TCP协议与socket编程全解析
linux·网络·笔记·tcp/ip·udp
@Mike@27 分钟前
13-数据库学习笔记(查询执行处理模型)
数据库·笔记·学习
水饺编程1 小时前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
弈栈录1 小时前
MySQL 事务、索引与锁:后端开发必须掌握的数据库基础
数据库·后端
牢姐与蒯1 小时前
一点小碎片——每个线程独有的东西——上下文+栈
linux·运维·服务器
9624561 小时前
餐饮 SaaS 优惠券系统架构演进(三):优惠计算引擎——商品级计价、冲突策略与优惠分摊
java·数据库·spring boot
染指11101 小时前
135.Agent-多Agent框架-LangChain多智能体(SubAgents子代理)
数据库·人工智能·设计模式·langchain·agent·agents
小此方1 小时前
Linux网络(二十):TCP拥塞控制与延迟应答详解:从拥塞窗口到TCP性能优化,理解TCP与UDP的效率差异
linux·网络·php
yunwei371 小时前
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息
linux·后端·性能优化