前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >CentOS7安装MySQL8

CentOS7安装MySQL8

原创
作者头像
郑郑SunUp
发布2025-01-01 16:20:14
发布2025-01-01 16:20:14
1140
举报
文章被收录于专栏:LinuxLinux

环境介绍

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

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

一、安装前准备

1.卸载MariaDB

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

1.1 查看是否安装mariadb
代码语言:txt
复制
rpm -qa|grep mariadb
1.2 卸载
代码语言:txt
复制
rpm -e --nodeps 文件名
1.3 检查是否卸载干净
代码语言:txt
复制
rpm -qa|grep mariadb

2.检查依赖

2.1 查看是否安装libaio
代码语言:txt
复制
rpm -qa|grep libaio

如果没有安装则执行

代码语言:txt
复制
yum -y install libaio //安装libaio 

2.2 查看是否安装numactl
代码语言:txt
复制
rpm -qa|grep numactl

如果没有安装则执行

代码语言:txt
复制
yum -y install numactl //安装numactl 

二、安装MySQL

1.下载资源包

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

1.1 官网下载

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

1.2 wget下载
代码语言:txt
复制
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar

2.解压

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

进入安装包目录

代码语言:txt
复制
cd /usr/local/

拆分tar包

代码语言:txt
复制
tar -xvf mysql-8.0.30-el7-x86_64.tar

解压安装包

代码语言:txt
复制
tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz

3.重命名

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

代码语言:txt
复制
mv mysql-8.0.30-el7-x86_64/ mysql

4.创建存储数据文件

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

代码语言:txt
复制
mkdir mysql/data

5.设置用户组并赋权

创建用户组

代码语言:txt
复制
groupadd mysql

创建用户

-r:创建系统用户

-g:指定用户组

代码语言:txt
复制
useradd -r -g mysql mysql

更改属主和数组

代码语言:txt
复制
chown -R mysql:mysql /usr/local/mysql/

更改权限

代码语言:txt
复制
chmod -R 755 /usr/local/mysql/

6.初始化MySQL

进入MySQL的bin目录

代码语言:txt
复制
cd /usr/local/mysql/bin/

初始化

代码语言:txt
复制
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

7.配置参数文件

代码语言:txt
复制
vi /etc/my.cnf

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

代码语言:txt
复制
[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

[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

代码语言:txt
复制
chmod 777 /etc/my.cnf

8.启动MySQL

代码语言:txt
复制
/usr/local/mysql/support-files/mysql.server start

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

代码语言:txt
复制
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.登录并更改密码

代码语言:txt
复制
[root@localhost bin]# mysql -uroot -p
Enter password: 输入初始化随机密码

两种改密方式二选一

代码语言:txt
复制
alter user 'root'@'localhost' identified by '123456';
set password for root@localhost = '123456';

11.开放远程连接

代码语言:txt
复制
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;    //刷新权限

12.连接工具测试连接MySQL

我这里使用的dbeaver客户端验证的。。。

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

关闭防火墙

代码语言:txt
复制
systemctl stop firewalld

13.MySQL启动和停止

CentOS6和CentOS7命令都可以使用。

启动

代码语言:txt
复制
service mysql start
systemctl start mysql

停止

代码语言:txt
复制
service mysql stop
systemctl stop mysql

重启

代码语言:txt
复制
service mysql restart
systemctl restart mysql

查看状态

代码语言:txt
复制
service mysql status
systemctl status mysql

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

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

代码语言:txt
复制
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

代码语言:txt
复制
chmod +x /etc/init.d/mysqld

添加服务

代码语言:txt
复制
chkconfig --add mysqld

显示服务列表

代码语言:txt
复制
chkconfig --list

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

代码语言:txt
复制
chkconfig --level 345 mysqld on

重启系统

代码语言:txt
复制
reboot

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

代码语言:txt
复制
ps -ef|grep mysql

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
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启动和停止
  • 三、设置开机自启动(可选)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档