CentOS7安装MySQL8的超级详细教程(无坑!)


Posted in Servers onJune 10, 2022

前言

环境介绍 :

服务器: 阿里云轻量应用服务器

系统版本: CentOS 7

MySQL版本: 8.0

一、卸载MariaDB

在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。

1.1 查看版本:

rpm -qa|grep mariadb

1.2 卸载

rpm -e --nodeps 文件名

1.3 检查是否卸载干净:

rpm -qa|grep mariadb

CentOS7安装MySQL8的超级详细教程(无坑!)

二、安装MySQL

2.1 下载资源包

2.1.1 官网下载

MySQL官网下载地址 :

https://dev.mysql.com/downloads/mysql/

CentOS7安装MySQL8的超级详细教程(无坑!)

2.1.2 wget下载

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

2.2 解压

.tar.gz后缀:tar -zxvf 文件名
.tar.xz后缀:tar -Jxvf 文件名

2.3 重命名

将解压后的文件夹重命名(或者为文件夹创建软链接)

# 重命名
mv 原文件夹名 mysql8
# 软链接
ln -s 文件夹名 mysql8

2.4 添加PATH变量

添加PATH变量后,可在全局使用MySQL。

有两种添加方式:export命令临时生效、修改配置文件用久生效;

#临时环境变量,关闭shell后失效,通常用于测试环境
export PATH=$PATH:/data/software/mysql8/bin

三、用户和用户组

3.1 创建用户组和用户

# 创建一个用户组:mysql
groupadd mysql
# 创建一个系统用户:mysql,指定用户组为mysql
useradd -r -g mysql mysql

创建用户组:groupadd

创建用户:useradd

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

3.2 数据目录

1、创建目录

mkdir -p /data/software/mysql8/datas

2、赋予权限

# 更改属主和数组
chown -R mysql:mysql /data/software/mysql8/datas
# 更改模式
chmod -R 750 /data/software/mysql8/datas

四、初始化MySQL

4.1 配置参数

在/data/software/mysql8/下,创建my.cnf配置文件,用于初始化MySQL数据库

[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock

[mysqld]
port       = 3306
server-id  = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /data/software/mysql8
# 数据存放目录
datadir    = /data/software/mysql8/datas/mysql
log-bin    = /data/software/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir      =/data/software/mysql8/datas/mysql
innodb_log_group_home_dir =/data/software/mysql8/datas/mysql
#日志及进程数据的存放目录
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file  =/data/software/mysql8/datas/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
 
 ##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
  
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
   
binlog_format=mixed
    
binlog_expire_logs_seconds =864000
    
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
      
[mysqldump]
quick
max_allowed_packet = 16M
       
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
        
[mysqlhotcopy]
interactive-timeout

4.2 初始化

mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=mysql --initialize-insecure

参数(重要)

  • defaults-file:指定配置文件(要放在–initialize 前面)
  • user: 指定用户
  • basedir:指定安装目录
  • datadir:指定初始化数据目录
  • intialize-insecure:初始化无密码

五、启动MySQL

查看 MySQL的 bin路径下,是否包含mysqld_safe,用于后台安全启动MySQL。

CentOS7安装MySQL8的超级详细教程(无坑!)

5.1 启动服务

# 完整命令
/data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
# 添加PATH变量后的命令(省略bin目录的路径)
mysqld_safe --defaults-file=/data/software/mysql/my.cnf &

查看是否启动

ps -ef|grep mysql

CentOS7安装MySQL8的超级详细教程(无坑!)

5.2 登录

# 无密码登录方式
/data/software/mysql8/bin/mysql -u root --skip-password
# 有密码登录方式(初始的随机密码在/data/mysql8_data/mysql/mysql.log下)
mysql -u root -p
password:随机密码

CentOS7安装MySQL8的超级详细教程(无坑!)

5.3 修改密码

# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;

CentOS7安装MySQL8的超级详细教程(无坑!)

5.4 设置允许远程登录

登录到mysql里执行

mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

5.5 在Navicat上测试连接

CentOS7安装MySQL8的超级详细教程(无坑!)

总结

到此这篇关于CentOS7安装MySQL8的文章就介绍到这了,更多相关CentOS7安装MySQL8内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Apache站点配置SSL强制跳转443
Mar 09 Servers
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
Mar 31 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
Windows server 2012搭建FTP服务器
Apr 29 Servers
KVM基础命令详解
Apr 30 Servers
排查Tomcat进程假死的问题
May 06 Servers
docker 制作mysql镜像并自动安装
May 20 Servers
CentOS7安装MySQL8的超级详细教程(无坑!)
Jun 10 Servers
Nginx安装配置详解
Jun 25 Servers
apache虚拟主机配置的三种方式(小结)
Jul 23 Servers
ubuntu下常用apt命令介绍
Jun 05 #Servers
netty 实现tomcat的示例代码
Jun 05 #Servers
基于docker安装zabbix的详细教程
Jun 05 #Servers
linux目录管理方法介绍
Jun 01 #Servers
Linux磁盘管理方法介绍
Jun 01 #Servers
Linux中文件的基本属性介绍
Jun 01 #Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 #Servers
You might like
NO3第三帝国留言簿制作过程
2006/10/09 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
监控 url fragment变化的js代码
2010/04/19 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
python练习程序批量修改文件名
2014/01/16 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
python用700行代码实现http客户端
2021/01/14 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
经济信息系毕业生自荐信
2014/06/02 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers