CentOS 7 安装 MySQL 8

1.下载

打开 [MySQL 官方下载地址](https://downloads.mysql.com/archives/community/)

选择我们要安装的版本  32位系统选择第一个(蓝色框内)  64位系统选择第二个(绿色框内)

在这里插入图片描述

2.卸载 CentOS 7 自带的 mariadb

mariadb 是 MySQL 的一个分支,此数据库会和我们安装的 MySQL 冲突。
查看 mariadb 安装的 rpm package

rpm -qa | grep mariadb

卸载

rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64

如果报错 需要进行强制删除

rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

3.解压


将我们下载的 MySQL 放到 /usr/ 目录下进行解压

xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar

将解压的文件 放到 /local/ 下 并命名为 mysql

mv mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql



了解内容
创建 tar.xz 文件命令:

tar cvf xxx.tar xxx/  得到 xxx.tar文件,然后  xz -z xxx.tar  将 xxx.tar 压缩成为 xxx.tar.xz

解压 tar.xz 文件命令:

xz -d xxx.tar.xz 将 xxx.tar.xz 解压成 xxx.tar 然后,再用 tar xvf xxx.tar 解压。

4.增加 MySQL 用户和组

创建用户组

groupadd mysql

创建用户名和密码

useradd -g mysql mysql
passwd mysql

5.添加配置文件

由于 MySQL 8 是不自带配置文件的 所以我们要自己创建一个 my.cnf 配置文件

vim /etc/my.cnf

将以下内容粘贴到 my.cnf 中

[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8
 
###############################基础设置#####################################
[mysqld] 
#可以免密码登录
#skip-grant-tables
 
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
 
#服务端口号 默认3306
port = 3306
 
default_storage_engine=InnoDB
 
skip-name-resolve
 
#mysql安装根目录
basedir = /usr/local/mysql
 
#mysql数据文件所在位置,
datadir =/usr/local/mysql/data
 
#临时目录 比如load data infile会用到
tmpdir  = /tmp
 
#设置socke文件所在目录
socket  = /tmp/mysql.sock
 
#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED
 
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
 
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
 
#设置client连接mysql时的字符集,防止乱码
#init_connect=‘SET NAMES utf8mb4‘

sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

############################日志设置##########################################
 
#数据库错误日志文件
log_error = error.log

6.初始化 MySQL

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

建议复制粘贴执行命令
如果此处出错

/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行以下命令

yum install -y libaio

7.启动 MySQL

需要在 /usr/local/mysql 目录下执行

./support-files/mysql.server start

此处可能会报错
原因可能是你的配置文件 socket = /tmp/mysql.sock 指定的目录不存在 你的 mysql 用户没有对应的权限

例如:
你的配置文件路径为 socket = /tmp/mysql/mysql.sock
需要先创建对应目录(已有则不需要创建) mkdir /tem/mysql/
为 mysql 用户进行授权 chown -R mysql:mysql /tmp/mysql

8.设置 root 密码

将配置文件中下面的注释打开

#可以免密码登录
skip-grant-tables

重启 MySQL 服务

service mysqld restart

进入 MySQL bin 目录

cd /usr/local/mysql/bin/

登录 MySQL

./mysql -uroot -p

直接按回车登录 然后选择数据库(注意 以下命令是在 MySQL 下执行的)

use mysql

修改密码

ALTER USER 'root' IDENTIFIED BY '你的密码';

为了远程功能也能正常连接 还需要做如下操作

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '你的密码';

9.允许远程访问

允许远程连接执行以下命令

update user set host = '%' where user = 'root'

使标题8 和标题9 修改立即生效需要执行

flush privileges;

开放 3306 端口 (以下命令是 Linux 命令)

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

重启防火墙

firewall-cmd --reload

10.添加 MySQL 服务 和 全局环境变量

添加服务执行以下命令

cp -a ./support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

查看服务是否添加成功

chkconfig --list mysqld

添加全局环境变量执行以下命令

vim /etc/profile

在文件最后添加如下参数

MYSQL_HOME=/usr/local/mysql

PATH=$MYSQL_HOME/bin:$PATH
export MYSQL_HOME  PATH

重启 Linux

reboot
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值