当前位置: 首页 > news >正文

centos7 安装 mysql 8.0

文章目录
  • 环境介绍
  • 一、安装前准备
    • 1.卸载MariaDB
      • 1.1 查看是否安装mariadb
      • 1.2 卸载
      • 1.3 检查是否卸载干净
    • 2.检查依赖
      • 2.1 查看是否安装libaio
      • 2.2 查看是否安装numactl
  • 二、安装MySQL
    • 1.下载资源包
      • 1.1 官网下载
      • 1.2 wget下载
    • 2.解压
    • 3.重命名
    • 4.创建存储数据文件
    • 5.设置用户组并赋权
    • 6.初始化MySQL
    • 7.配置参数文件
    • 8.启动MySQL
    • 9.设置软连接,并重启MySQL
    • 10.登录并更改密码
    • 11.开放远程连接
    • 12.连接工具测试连接MySQL
    • 13.MySQL启动和停止
  • 三、设置开机自启动(可选)

环境介绍

操作系统:Centos7.6
MySQL版本: 8.0.30

本文使用的是当前最新8.0.30版本,如果需要安装的版本比8.0.30高或者低,只要是8.0.*版本,那就可以按照本文说明安装,基本不会有任何问题。

一、安装前准备

1.卸载MariaDB

安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。

1.1 查看是否安装mariadb
rpm -qa|grep mariadb
1.2 卸载
rpm -e --nodeps 文件名
1.3 检查是否卸载干净
rpm -qa|grep mariadb

2.检查依赖

2.1 查看是否安装libaio
rpm -qa|grep libaio

如果没有安装则执行

yum -y install libaio //安装libaio 
2.2 查看是否安装numactl
rpm -qa|grep numactl

如果没有安装则执行

yum -y install numactl //安装numactl 

二、安装MySQL

1.下载资源包

可以在官网下载安装包或者在服务器直接使用wget下载。

1.1 官网下载

MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

1.2 wget下载
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-el7-x86_64.tar

2.解压

注:本文安装包上传到了 /usr/local/ 目录下

进入安装包目录

cd /usr/local/

拆分tar包

tar -xvf mysql-8.0.30-el7-x86_64.tar

解压安装包

tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz

3.重命名

将解压后的文件夹重命名为mysql

mv mysql-8.0.30-el7-x86_64/ mysql

4.创建存储数据文件

在重命名后的mysql文件夹中创建data文件夹

mkdir mysql/data

5.设置用户组并赋权

创建用户组

groupadd mysql

创建用户
-r:创建系统用户
-g:指定用户组

useradd -r -g mysql mysql

更改属主和数组

chown -R mysql:mysql /usr/local/mysql/

更改权限

chmod -R 755 /usr/local/mysql/

6.初始化MySQL

进入MySQL的bin目录

cd /usr/local/mysql/bin/

初始化

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1

初始化完成后会打印一个随机密码,后面会用到。
在这里插入图片描述

7.配置参数文件

vi /etc/my.cnf

配置文件修改为以下内容,也可以根据自己需要设置参数。

[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = ‘SET NAMES utf8mb4’

port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
#lower_case_table_names=1
#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
max_connect_errors=10000
max_connections = 10000

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

配置后修改 /etc/my.cnf 的权限为777

chmod 777 /etc/my.cnf

8.启动MySQL

/usr/local/mysql/support-files/mysql.server start

9.设置软连接,并重启MySQL

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart

10.登录并更改密码

[root@localhost bin]# mysql -uroot -p
Enter password: 输入初始化随机密码

修改密码

alter user 'root'@'localhost' identified by '你的密码' password expire never; alter user 'root'@'localhost' identified with mysql_native_password by '你的密码' flush privileges;

11.开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;    //刷新权限

12.连接工具测试连接MySQL

在这里插入图片描述
如果服务器本地可以连接,但是连接工具远程连接不进去,则需要检查一下防火墙是否放行3306端口,也可以暂时先关闭防火墙后重试。

关闭防火墙

systemctl stop firewalld

13.MySQL启动和停止

CentOS6和CentOS7命令都可以使用。

启动

service mysql start
systemctl start mysql

停止

service mysql stop
systemctl stop mysql

重启

service mysql restart
systemctl restart mysql

查看状态

service mysql status
systemctl status mysql

三、设置开机自启动(可选)

将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

chmod +x /etc/init.d/mysqld

添加服务

chkconfig --add mysqld

显示服务列表

chkconfig --list

注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

chkconfig --level 345 mysqld on

重启系统

reboot

重启后查看mysql是否开机自启动

ps -ef|grep mysql
http://www.lryc.cn/news/195626.html

相关文章:

  • Vue15 计算属性VS监视属性(侦听属性)
  • 快速全面掌握数据库系统核心知识点
  • 学习笔记 | 音视频 | 推流项目框架及细节
  • 拓扑几何学
  • 1.12.C++项目:仿muduo库实现并发服务器之LoopThreadPool模块的设计
  • SpringBoot介绍
  • 2022最新版-李宏毅机器学习深度学习课程-P17 卷积神经网络CNN
  • 微博清理僵尸粉
  • 创建React Native的第一个hello world工程
  • 基础课3——自然语言处理的应用
  • 理解 Git 的三个工作区:工作区、暂存区和版本库
  • web前端基础训练-----创建用户反馈表单
  • Scrum 敏捷管理流程图及敏捷管理工具
  • Android Handler/Looper视角看UI线程的原理
  • 【网络】网络入门
  • GO-实现简单文本格式 文本字体颜色、大小、突出
  • 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)
  • latex,不带行号的algorithm
  • RocketMQ高性能核心原理与源码架构剖析
  • MATLAB中zp2tf函数用法
  • 解决:uniapp项目中调用小程序的chooseAddress() API失效
  • 2023 项目组总结(待完善)
  • Chrome浏览器 键盘快捷键整理
  • 【JAVA】集合与背后的逻辑框架,包装类,List,Map,Set,静态内部类
  • mac电脑版数字图像处理软件:ACDSee Photo Studio 9最新 for Mac
  • 酷开系统 | 酷开科技让你放肆嗨唱,聆听内心最真实的声音
  • PC电脑 VMware安装的linux CentOs7如何扩容磁盘?
  • redis极速的奥秘
  • three.js之初识three.js
  • 二维码智慧门牌管理系统:地址管理的现代革命