Linux 中使用二进制包安装 MySQL

一、系统环境准备

1、查看架构类型,命令如下:

uname -m

2、查看glibc版本,命令如下:

ldd --version | grep libc

执行上述命令,获取到本系统架构为 x86_64,glibc 版本为 2.28。

3、检查系统中是否已安装 MySQL 或  MariaDB ,如果有安装需要卸载,命令参考:

# 检查是否安装 MySQL
rpm -qa | grep mysql

# 检查是否安装 MariaDB
rpm -qa | grep mariadb

# 卸载
rpm -e <软件包名>

# 强制卸载
rpm -e --nodeps <软件包名>

二、下载安装包

进入 MySQL 官网下载页面,下载合适的二进制安装包

  • “Select Version” 根据需要选择;
  • “Select Operating System” 选择 “Linux - Generic”;
  • “Select OS Version” 根据上面查询到的系统信息选择。

三、安装配置

1、将安装包上传到服务器,这里选择上传到 /opt 目录下。

2、解压安装包并重命名,命令如下:

# 解压
tar -xvJf mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz

# 重命名,可选,目录名称保留版本号方便后期维护
mv mysql-8.4.3-linux-glibc2.28-x86_64 mysql-8.4.3

3、创建 MySQL 数据目录和日志目录,这里的具体路径如下:

  • 数据目录:/data/mysql/data;
  • 日志目录:/data/mysql/log。

4、在 /etc 目录下添加 my.cnf 配置文件,参考配置如下:

[mysqld]
# mysql 启动用户
user=root

# 端口,为了安全不使用默认端口
port=13306

# 安装目录,没有安装到默认目录 /usr/local/mysql 下,
# 使用自带的 mysql.server 脚本启动mysql服务必须配置
basedir=/opt/mysql-8.4.3

# 数据目录
datadir=/data/mysql/data

# 允许最大连接数
max_connections=100

# 允许连接失败的次数。
max_connect_errors=10

# 服务端使用的字符集
character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 查询日志
general_log = 1
general_log_file = /data/mysql/log/mysql.log

# 慢查询日志
slow_query_log = 1
slow_query_log_file = /data/mysql/log/slow.log
long_query_time = 2

# 错误日志
log_error = /data/mysql/log/error.log

# 二进制日志
server_id = 1
log_bin = /data/mysql/log/mysql-bin
log_bin_index=/data/mysql/log/mysql-bin.index
binlog_format=MIXED
binlog_expire_logs_seconds = 604800
max_binlog_size=500M


[mysql]
# 设置命令行客户端默认字符集
default-character-set=utf8mb4


[client]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

5、执行 MySQL bin 目录下的 mysqld 文件,初始化数据库

# 进入 MySQL bin 目录
cd /opt/mysql-8.4.3/bin

# 执行初始化命令
./mysqld --initialize --user=root --basedir=/opt/mysql-8.4.3 --datadir=/data/mysql/data

6、在初始化日志中获取临时密码,如果终端没有输出日志则在日志文件中查找,MySQL 日志一般由配置文件中的 log_error 指定,根据上面的配置信息,日志存放在 /data/mysql/log/error.log 中

7、执行 MySQL support-files 目录下的 mysql.server 脚本,启动数据库服务,将使用 /etc/my.cnf 配置文件

# 进入 MySQL support-files 目录
cd /opt/mysql-8.4.3/support-files

# 启动
./mysql.server start

# 停止
./mysql.server stop

# 查看支持参数
./mysql.server

8、将 MySQL bin 目录添加到全局环境变量中,编辑 /etc/profile 文件,在文件最后添加如下语句:

export PATH=$PATH:/opt/mysql-8.4.3/bin

执行 source /etc/profile 命令让配置立即生效。

9、将MySQL support-files 目录下的 mysql.server 脚本拷贝到 /etc/init.d 目录下,支持用 systemctl start mysql 命令启动数据库服务

# 关停之前已启动的 MySQL 服务
./opt/mysql-8.4.3/support-files/mysql.server stop

# 将脚本拷贝到 /etc/init.d/ 目录下
cp /opt/mysql-8.4.3/support-files/mysql.server /etc/init.d/

# 启动 MySQL 服务
systemctl start mysql

# 停止 MySQL 服务
systemctl stop mysql

注:我在将 mysql.server 拷贝到 /etc/init.d 目录下后,执行 systemctl start mysql 命令启动服务失败,提示 “Unit mysql.service could not be found.” 错误,在重启服务器后解决,应该有不重启服务器的方式解决,如果你知道希望能告诉我。

四、用户配置

执行 mysql -uroot -p 命令,然后输入初始化时生成的临时命令,本地登录 MySQL 服务。

1、修改临时密码

-- 查看已有用户
select user, host from mysql.user;

-- 修改 root 密码
alter user 'root'@'localhost' identified by '新密码';

2、允许远程登录

-- 选中 mysql 库
use mysql;

-- 不限制 root 用户远程连接 IP
update user set host='%' where user ='root';

-- 重新加载权限表
flush privileges;

3、新建用户

-- 创建用户
create user '用户名'@'%' identified by '密码';

-- 赋予权限
grant all privileges on *.* TO '用户名'@'%';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值