Centos7安装MySQL8.0

一、安装准备

1、检测版本

下载mysql版本前,首先需要确定一下系统的glibc版本,使用如下命令:

bash 复制代码
rpm -qa | grep glibc
2、下载mysql

MySQL下载地址:https://dev.mysql.com/downloads/mysql/

3、上传mysql到服务器

二、安装及配置

2.1、解压

把MySQL解压到指定文件夹

bash 复制代码
tar -xvf mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz -C /usr/local/

修改文件名

bash 复制代码
cd /usr/local/
mv mysql-8.0.44-linux-glibc2.17-x86_64/ mysql-8.0
2.2、创建数据存储文件夹
bash 复制代码
cd mysql-8.0
mkdir data
2.3、创建用户组以及用户和密码
bash 复制代码
groupadd mysql
useradd -g mysql mysql
2.4、授权用户
bash 复制代码
chown -R mysql.mysql /usr/local/mysql-8.0
2.5、初始化mysql
bash 复制代码
cd bin
./mysqld --user=mysql --lower_case_table_names=1 --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize

得到临时密码

2.6、编辑my.cnf文件
bash 复制代码
vi /etc/my.cnf

删除原文件内容,添加以下内容:

bash 复制代码
[mysqld]
basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
lower_case_table_names=1
2.7、添加mysqld服务到系统
bash 复制代码
cd /usr/local/mysql-8.0
cp -a ./support-files/mysql.server /etc/init.d/mysql
2.8、授权以及添加服务
bash 复制代码
chmod +x /etc/init.d/mysql
chkconfig --add mysql
2.9、启动mysql
bash 复制代码
service mysql start

注:如果启动时报错,就按照提示信息进行处理。

2.10、查看启动状态
bash 复制代码
service mysql status
2.11、将mysql命令添加到服务
bash 复制代码
ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
2.12、登录mysql
bash 复制代码
mysql -uroot -p

密码使用之前随机生成的密码

操作记录

bash 复制代码
mysql -uroot -p
Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.44

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
2.13、修改root密码
bash 复制代码
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#刷新权限
flush privileges;

其中 "123456" 是新的密码

2.14、修改远程连接
bash 复制代码
#选择数据库
use mysql;
#修改远程连接
update user set host='%' where user='root';
#刷新权限
flush privileges;
2.15、防火墙放开端口
bash 复制代码
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp

sudo firewall-cmd --reload
2.16、远程连接
2.17、设置开机启动
bash 复制代码
sudo systemctl enable mysql
相关推荐
yunwei373 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕3 小时前
关于重定向的小补充
linux
T1mzhou3 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond4 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌4 小时前
Shell编程实例——bash入门
linux·运维·shell
程序员阿鹏4 小时前
如何实现MySQL分库分表?
数据结构·数据库·sql·mysql·缓存
爱和冰阔落4 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1234 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉4 小时前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu
初願致夕霞4 小时前
Linux 进程间通信(IPC)机制详解:管道、FIFO 与 System V 共享内存
linux·服务器·c++