1 版本及下载 MySQL数据库存在多种版本,按照实际需求下载:
官网地址:MySQL :: Download MySQL Community Server
#查看glibc版本信息,选择对应的版本
ls -l /lib64/libc.so.6
选择如图:
2 环境配置
安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如有,类似
mysql-libs-5.1.52-1.el6_0.1.x86_64
那可以选择进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上
rpm -qa | grep mariadb
如有,类似
mariadb-libs-5.5.56-2.el7.x86_64
则 卸载
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3 安装
mkdir /data
tar -xvf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz -C /data/
cd /data
mv mysql-8.0.39-linux-glibc2.17-x86_64 mysql
添加系统mysql组和mysql用户
检查mysql组和用户是否存在,如无创建
cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash
以上为存在的情况,如无,执行添加命令:
groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
安装数据库
创建data目录
cd /data/mysql
mkdir data
将/data/mysql/的所有者及所属组改为mysql
chown -R mysql.mysql /data/mysql
在/data/mysql/support-files目录下创建my_default.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/data/mysql/
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 用户
user = mysql
# 允许访问的IP网段
bind-address = 0.0.0.0
#数据库错误日志文件
log-error=/data/mysql/logs/log_error.log
#pid
pid-file=/data/mysql/mysql.pid
#设置socke文件所在目录
socket=/data/mysql/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
拷贝,如果提示是否覆盖,y
cp support-files/my_default.cnf /etc/my.cnf
初始化 mysqld
cd /data/mysql
mkdir logs
./bin/mysqld --initialize --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
查看临时密码
cat logs/log_error.log | grep root@localhost
2024-04-26T06:01:00.897795Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rfo8qh1rdP&I
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
启动mysql服务
service mysql start
登录mysql,密码为初始密码
cd /data/mysql
./bin/mysql -h127.0.0.1 -uroot -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
授权远程登录
create user root@'%' identified by '123456';
grant all privileges on *.* to root@'%' with grant option;
FLUSH PRIVILEGES;
重启mysql生效
service mysql stop
service mysql start