当前位置:   article > 正文

CentOS7安装MySQL8(亲测无坑百分百安装成功)

centos7安装mysql8

环境介绍

操作系统: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

1.2 卸载

rpm -e --nodeps 文件名
  • 1

1.3 检查是否卸载干净

rpm -qa|grep mariadb
  • 1

2.检查依赖

2.1 查看是否安装libaio

rpm -qa|grep libaio
  • 1

如果没有安装则执行

yum -y install libaio //安装libaio 
  • 1

2.2 查看是否安装numactl

rpm -qa|grep numactl
  • 1

如果没有安装则执行

yum -y install numactl //安装numactl 
  • 1

二、安装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
  • 1

2.解压

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

进入安装包目录

cd /usr/local/
  • 1

拆分tar包

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

解压安装包

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

3.重命名

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

mv mysql-8.0.30-el7-x86_64/ mysql
  • 1

4.创建存储数据文件

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

mkdir mysql/data
  • 1

5.设置用户组并赋权

创建用户组

groupadd mysql
  • 1

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

useradd -r -g mysql mysql
  • 1

更改属主和数组

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

更改权限

chmod -R 755 /usr/local/mysql/
  • 1

6.初始化MySQL

进入MySQL的bin目录

cd /usr/local/mysql/bin/
  • 1

初始化

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
  • 1

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

7.配置参数文件

vi /etc/my.cnf
  • 1

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

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

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

chmod 777 /etc/my.cnf
  • 1

8.启动MySQL

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

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
  • 1
  • 2
  • 3
  • 4

10.登录并更改密码

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

两种改密方式二选一

alter user 'root'@'localhost' identified by '123456';
set password for root@localhost = '123456';
  • 1
  • 2

11.开放远程连接

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

12.连接工具测试连接MySQL

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

关闭防火墙

systemctl stop firewalld
  • 1

13.MySQL启动和停止

CentOS6和CentOS7命令都可以使用。

启动

service mysql start
systemctl start mysql
  • 1
  • 2

停止

service mysql stop
systemctl stop mysql
  • 1
  • 2

重启

service mysql restart
systemctl restart mysql
  • 1
  • 2

查看状态

service mysql status
systemctl status mysql
  • 1
  • 2

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

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

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

赋予可执行权限

chmod +x /etc/init.d/mysqld
  • 1

添加服务

chkconfig --add mysqld
  • 1

显示服务列表

chkconfig --list
  • 1

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

chkconfig --level 345 mysqld on
  • 1

重启系统

reboot
  • 1

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

ps -ef|grep mysql
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/180872
推荐阅读
相关标签
  

闽ICP备14008679号