暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL8.0 详细安装教程

数码百科 2024-03-05
78



一、准备

ip地址: 192.168.99.128

端口号: 3306


mysql下载地址:https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz


二、初始化

# 禁止SELINUX 并重启系统,如果已是禁止,则忽略

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' etc/selinux/config

reboot


# 系统时间设置

yum install chrony -y


# 编辑chrony配置文件,并注释掉所有的NTP服务器行并添加以下行

vi etc/chrony.conf

server ntp1.aliyun.com iburst

server ntp2.aliyun.com iburst


# 启动 服务,并会自动设置北京时间

systemctl start chronyd

systemctl enable chronyd


三、安装

# 下载软件

yum install wget -y

mkdir -p opt/data/soft/

cd opt/data/soft/

wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz


# 解压

tar -xf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

mv mysql-8.0.27-linux-glibc2.12-x86_64 opt/data/mysql


# 创建 数据目录 和 日志目录

mkdir -p  opt/data/mysql/logs opt/data/mysql/data


# 创建用户

useradd mysql


# 安装依赖

yum install -y libaio numactl


四、配置mysql

#  创建文件 etc/my.cnf

vi etc/my.cnf


[mysqld]
# 监听端口
port=3306
# 安装目录
basedir=/usr/local/mysql
# 数据目录
datadir=/usr/local/mysql/data
# 最大连接数
max_connections = 100
# 默认数据库引擎
default-storage-engine = InnoDB
# 字符集
character-set-server=utf8

# 错误日志
log-error = usr/local/mysql/log/error.log

# 开启慢日志
slow_query_log = 1
# 慢查询日志时间阈值 默认是10S
long-query-time = 30
# 慢查询日志存放路径
slow_query_log_file =  usr/local/mysql/log/show.log
# 记录那些由于查找了多余1000次而引发的慢查询
min_examined_row_limit = 1000
# 记录由Slave所产生的慢查询
log-slow-slave-statements
# 如果运行的SQL语句没有使用索引,则将这条SQL语句记录到慢查询日志文件中
log-queries-not-using-indexes


六、配置服务环境

# 复制启动文件到/etc/init.d/mysql

cp /opt/data/mysql/support-files/mysql.server /etc/init.d/mysql


# 修改启动文件内容

## 补充 basedir=/opt/data/mysql

## 补充 datadir=/opt/data/mysql/data

sed -i 's/^basedir=/basedir=\/opt\/data\/mysql/g' /etc/init.d/mysql

sed -i 's/^datadir=/datadir=\/opt\/data\/mysql\/data/g' /etc/init.d/mysql


# 配置环境变量

echo "export PATH=/opt/data/mysql/bin:$PATH" > /etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh


# 授权

chown mysql.mysql -R /opt/data/mysql

# 初始化数据

mysqld --initialize --user=mysql --basedir=/opt/data/mysql --datadir=/opt/data/mysql/data


# 重载 systemd 配置

systemctl daemon-reload

# 检查是否有语法错误

systemctl status mysql.service


# 启动服务,并加入自启动

systemctl start mysql.service

systemctl enable mysql.service

# 开启防火墙

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload


五、修改mysql默认密码

# 重置 root 密码

## 查看 root 初始密码

grep root@localhost /opt/data/mysql/logs/error.log |awk -F':' '{print $NF}'|awk '{print $NF}'

此案例的初始密码为:0%;wR<7987XgX6


## 修改 root 密码

### 生成新 root 密码

openssl rand -base64 10

YUGYUGYUBidsCtIkmw==


## 登录 mysql

mysql -uroot -p

### 如下是修改root初始密码,并允许其他ip通过root访问mysql

ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY 'YUGYUGYUBidsCtIkmw==';

update mysql.user set host='%' where user ='root';

flush privileges;


六、其它

如自定义密码出现问题,提示不满足安全要求,原因密码简短:

解决方法是降低密码等级:

  1. # 降低密码等级

  2. set global validate_password_policy=LOW;

  3. # 设置密码最低长度要求,最低为4,设置小于4,结果也为4

  4. set global validate_password_length=1;

现在可以用新的密码登录了,至此完成了mysql的安装。

文章转载自数码百科,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论