CentOS 7 下安装 MySQL 8.x

作者:Grey

原文地址:

博客园:CentOS 7 下安装 MySQL 8.x

CSDN:CentOS 7 下安装 MySQL 8.x

环境

CentOS 版本:CentOS 7

下载地址:CentOS 7

安装方法见:Linux 安装,快照,克隆

MySQL 版本:MySQL 8.0.30

下载地址见:MySQL 下载

新建用户组

#> groupadd mysql

创建 MySQL 用户并分配其用户组

#> useradd -r -g mysql -s /bin/false mysql

准备必要文件夹并赋予相应的权限

#> mkdir -p /usr/local/mysql /data/mysql/
#> chown -R mysql.mysql /usr/local/mysql/
#> chown -R mysql.mysql /data/mysql/
#> chmod -R 755 /data/mysql/
#> chmod -R 755 /usr/local/mysql/

注:其中/data/mysql是存放 MySQL 数据的目录。

安装必要依赖

#> yum -y install wget gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel git bison
#> yum install -y centos-release-scl-rh
#> yum install -y centos-release-scl
#> yum install -y devtoolset-10-gcc
#> yum install -y devtoolset-10-gcc-c++

如果安装比较慢,可以配置阿里云的镜像地址:CentOS 镜像

上传并解压 MySQL 安装包

将下载好的 MySQL 安装包上传至服务器的/usr/local/目录下并解压,并将解压后的 mysql 安装目录中的内容放入/usr/local/mysql目录下

#> cd /usr/local/
#> tar -xf mysql-8.0.30-linux-glibc2.17-x86_64-minimal.tar.xz
#> mv mysql-8.0.30-linux-glibc2.17-x86_64-minimal/* mysql/

初始化 MySQL 数据库

#> /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

初始化完毕,会打印如下日志信息

2022-10-05T09:24:34.206466Z 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.
2022-10-05T09:24:34.206531Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 1533
2022-10-05T09:24:34.222068Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-10-05T09:24:34.868013Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-10-05T09:24:35.827528Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

修改 MySQL 配置参数

MySQL 的配置文件默认位置是/etc/my.cnf,关于配置文件的说明见:option-files

修改配置之前,一个比较好的习惯的是先备份配置

#> cd /etc
#> cp my.cnf my.cnf.backup

/etc/my.cnf内容替换为如下内容:

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
#user=root
#password=123
[mysqld]
server-id=1
#skip-grant-tables
default_authentication_plugin=mysql_native_password
port=3306
user=mysql
log_bin=mysql-bin
binlog_format=mixed
max_connections=200
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
init-connect='SET NAMES utf8'
character-set-server=utf8
default-storage-engine=INNODB
log_error=/data/mysql/mysql-error.log
slow_query_log_file=/data/mysql/mysql-slow.log
[mysqldump]
quick
max_allowed_packet=16M

my.cnf 文件的更多配置参数见:mysql-options

配置环境变量

配置环境变量并应用环境变量

#> echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
#> source /etc/profile

配置启动脚本【可选】

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

给启动脚本赋予可执行权限

#> chmod +x /etc/init.d/mysqld

这样就可以通过如下命令进行 MySQL 的启动了

#> service mysqld restart

配置 MySQL 开机启动【可选】

#> chkconfig --level 345 mysqld on

新建一个用户并赋予权限【可选】

安装完毕后,root用户默认没有密码,可以通过如下命令登录并修改root用户密码

#> mysql -u root -p

按回车,即可无密码登录,可以通过如下命令创建用户

创建一个用户名为 dump 的用户,密码初始化为 1234(可根据自定义需求修改)

mysql> create user 'dump'@'%' identified by '1234';

赋予权限,并配置可访问的 ip(可根据自定义需求修改)

mysql> grant all privileges on *.* to 'dump'@'%';
mysql> flush privileges;

开放 3306 端口

如果要远程访问 MySQL,操作系统需要打开 MySQL 的默认 3306 端口的访问权限

#> firewall-cmd --zone=public --add-port=3306/tcp --permanent
#> firewall-cmd --reload

接下来,可以通过 MySQL 客户端连接验证

推荐这一款免费开源的 MySQL 客户端:HeidiSQL

MySQL 的卸载

如果要完全卸载 MySQL,可以通过如下的方式:

停止服务

#> service mysqld stop

然后执行

#> find / -name mysql

找到所有 mysql 相关的文件夹

/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/data/mysql
/data/mysql/mysql

然后执行rm -rf删掉这些文件即可。

当然你确保

#> find / -name mysql

出来的文件没有需要保留的文件,也可以执行

#> rm -rf `find / -name mysql`

批量删除。

参考文档

Installing MySQL on Unix/Linux Using Generic Binaries

CentOS 7 下安装 MySQL 8.x的更多相关文章

  1. CentOS 7 下安装 MySQL 5.7

    从 CentOS 7 系统开始,MariaDB 成为 yum 源中默认的数据库安装包.在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL.您可以选择使用完全兼 ...

  2. CentOS 7 下安装 MySQL 8.0

    前言 本篇文章主要介绍在 CentOS 7 环境下安装 MySQL 8.0. 正文 1. 配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ 找到 ...

  3. Centos 7 下安装mysql

    // 卸载原有maridb-lib库 [root@localhost ~]# rpm -qa | grep mariadb mariadb-libs-5.5.41-2.el7_0.x86_64 [ro ...

  4. CentOS 7 下安装 mysql ,以及用到的命令

    VMware虚拟机装好后,再装个CentOS7系统,以上环境自行百度... 一.Linux下查看mysql是否安装 1.指令ps -ef|grep mysql [root@localhost 桌面]# ...

  5. CentOS 7下安装Mysql 5.7

    参见http://www.07net01.com/2016/03/1355735.html 过程中需要安装perl CentOS 7 采用了 firewalld 防火墙 service firewal ...

  6. centos 7下安装mysql

    可参考: http://blog.csdn.net/xyang81/article/details/51759200 1.去mysql官方网站查询最新的版本: 2.运行指令: wget http:// ...

  7. centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记

    centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记 目录[-] 过程 1.安装RVM 2.利用rvm安装 Ruby 1.9.3 并设为默认 3.安装rails 4.安装 ...

  8. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  9. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

随机推荐

  1. 2022-7-16 第五组 pan小堂 基础语法

    思维导图 一维数组 数组是存储多个变量(元素)的东西(容器) 这多个变量的数据类型要一致 数组既可以存储基本数据类型,也可以存储引用数据类型. 1.数组定义的格式: 格式1:数据类型[] 数组名; 格 ...

  2. 使用Python3.7配合协同过滤算法(base on user,基于人)构建一套简单的精准推荐系统(个性化推荐)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_136 时至2020年,个性化推荐可谓风生水起,Youtube,Netflix,甚至于Pornhub,这些在互联网上叱咤风云的流媒体 ...

  3. Java学习 (六)基础篇 类型转换

    类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 字节大小(容量)-> 低--------------------------------------------- ...

  4. 二位数组——扩展:冒泡排序、Arrays类

    1.冒泡排序 速记口诀(升序)   n个数字来排队:两两相比小靠前:外层循环n-1:内层循环n-i-1. 示例:定义一个数组,用冒泡排序将数组进行升序排序 关键代码: 输出结果: 2.Arrays 类 ...

  5. CM311-1a(S905L3系列)玩转桌面

    那安装了ambian后,玩转桌面(安装GUI桌面环境)有没有可能呢?那肯定啊!那桌面有什么用?当然有用,多一种玩法,可以写写代码,上网冲浪,学习linux语法什么的.而且单主机只要40左右,想想看可以 ...

  6. MySQL入门笔记一

    MySQL应用笔记   一MySQL关系型数据库.开源,中小型公司常用类型的数据库Oracle 大型公司常用数据库 MySQL基本的命令一. 创建.删除.查看数据库(database)创建库creat ...

  7. 【manim】含有add_updater更新函数become的物体移动方法

    在manim社区版本中, 一.对于一般的物体,移动的方法分为 (瞬移) 和 (带动画移动) 1.瞬移        #直接对物体操作即可    obj.shift(LEFT)         #瞬间移 ...

  8. 快速搭建 SpringCloud Alibaba Nacos 配置中心!

    Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录.而 Nacos 作为 Spring Cloud Alibaba 的核心 ...

  9. 第七十五篇:Vue兄弟组件传值

    好家伙, 兄弟组件的传值用到Eventbus组件, 1.EventBus的使用步骤 ① 创建 eventBus.js 模块,并向外共享一个Vue的实例对象 ②在数据发送方, 调用bus.$emit(' ...

  10. 第七十一篇:Vue组件的私有和全局注册

    好家伙, 1.组件的父子关系 我们封装三个组件,分别为left组件,right组件和App组件 在封装时: 在封装时,彼此的关系是独立的,并不存在父子关系 在使用时: 在使用时,根据彼此的嵌套关系,形 ...