CentOS7 实战部署MySQL8(二进制方式)

本文详细介绍了在Windows和Linux环境下MySQL的安装步骤,包括卸载MariaDB、下载安装包、配置环境变量、创建数据目录、初始化配置文件、注册启动服务以及用户配置等。重点讲述了在Linux上通过二进制文件进行MySQL的安装,并提供了用户登录、修改密码、授权远程访问和创建数据库的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 一、安装方式

1.1 windows下mysql的两种安装方式

1.2 Linux下安装mysql的安装方式

二、安装下载MySQL

 2.1卸载MariaDB

2.2 下载Mysql

2.3 添加环境变量

2.3 创建用户组

2.4 创建数据目录

2.5 初始化配置文件

 三、注册启动服务

四、用户配置

4.1 登录

4.2 修改密码

4.3 授权远程登录

4.4创建数据库与用户授权


 一、安装方式

1.1 windows下mysql的两种安装方式

安装包安装方式

压缩包方式安装

1.2 Linux下安装mysql的安装方式

二进制文件安装

RPM安装

yum源安装

Linux常用RPM、二进制文件方式安装,本章以二进制文件方式进行部署。

二、安装下载MySQL

 2.1卸载MariaDB

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

#查看是否存在MariaDB
rpm -qa|grep mariadb
#卸载依次卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
#查看是否卸载干净
rpm -qa|grep mariadb

如图:

2.2 下载Mysql

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

 官网下载需要登录,没有账号注册即可。
或者直接下载.

#进入下载目录
cd /usr/local

#下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

#解压缩
tar -Jxvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

#重命名路径
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8    

2.3 添加环境变量

vi /etc/profile

添加配置:PATH=$PATH:/usr/local/mysql8/bin

#刷新
source /etc/profile

2.3 创建用户组

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

mkdir /home/mysql
chmod 755 /home/mysql
cp -a /etc/skel/. /home/mysql/

2.4 创建数据目录

#创建目录
mkdir -p /usr/local/mysql8/data
#赋予权限 更改属主和数组
chown -R mysql:mysql /usr/local/mysql8/data
# 更改模式
chmod -R 750 /usr/local/mysql8/data

2.5 初始化配置文件

创建配置文件

vi /usr/local/mysql8/my.cnf

 文件内容:

[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    = /usr/local/mysql8
# 数据存放目录
datadir    = /usr/local/mysql8/data/mysql
log-bin    = /usr/local/mysql8/data/mysql/mysql-bin
innodb_data_home_dir      =/usr/local/mysql8/data/mysql
innodb_log_group_home_dir =/usr/local/mysql8/data/mysql
#日志及进程数据的存放目录
log-error =/usr/local/mysql8/data/mysql/mysql.log
pid-file  =/usr/local/mysql8/data/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

初始化mysql

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

 如果报错,依赖安装

yum install -y libaio

 三、注册启动服务

临时启动测试脚本

mysqld_safe --defaults-file=/usr/local/mysql8/my.cnf &
#查看是否启动成功
ps -ef|grep mysql

#复制主配置文件
cp /usr/local/mysql8/my.cnf /etc/my.cnf

#复制sysv服务脚本
cp /usr/local/mysql8/support-files/mysql.server /etc/rc.d/init.d/mysqld

#添加开机启动
chkconfig --add mysqld 
chkconfig mysqld on

#启动脚本
service mysqld start

四、用户配置

4.1 登录

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

4.2 修改密码

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

4.3 授权远程登录

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

4.4创建数据库与用户授权

CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'test'@'%' IDENTIFIED BY 'a123456';
GRANT ALL PRIVILEGES ON test.* TO 'test'@'%';
FLUSH PRIVILEGES;

 4.5开放防火墙

#添加
firewall-cmd --zone=public --add-port=3306/tcp --permanent(--permanent永久生效,没有此参数重启后失效)
#重新载入
firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值