商城网站 前置审批,安装wordpress linux,上海室内设计公司排名前十强,营业推广的方式文章目录 一、部署环境资源配置 二、下载地址版本选择 三、部署详情1. 上传安装包2. 解压软件包3. 安装mysql3.3.1 创建mysql用户与用户组3.3.2 授权安装文件夹3.3.3 安装libaio依赖 #xff08;坑#xff09;ubuntu24.04 中关于libaio的坑 3.3.4 初始化Mysql数据库3.3.5 编辑… 文章目录 一、部署环境资源配置 二、下载地址版本选择 三、部署详情1. 上传安装包2. 解压软件包3. 安装mysql3.3.1 创建mysql用户与用户组3.3.2 授权安装文件夹3.3.3 安装libaio依赖 坑ubuntu24.04 中关于libaio的坑 3.3.4 初始化Mysql数据库3.3.5 编辑my.cnf3.3.6 配置环境变量3.3.7 启动mysql设置开机启动 3.3.8 登录mysql3.3.8.1 创建root3.3.8.2 Plugin mysql_native_password is not load 两种解决办法重新启动该插件不推荐使用官方推荐方式 3.3.8.3 授权 四、快速部署脚本 一、部署环境
软件mysql8.4.3LTS
系统ubuntu24.04
资源配置 资源分配的大小与业务系统的体量有关系所以没有固定 CPU 2核
内存 4 GB
磁盘 50 GB sda[系统盘] 50GB 默认分区
sdc[数据盘] 100GB 挂载点 /dcdata
二、下载地址
MySQL :: Download MySQL Community Server 版本选择
由于我的操作系统比较新 通过 ldd --version 命令查看glibc版本为2.39所以选择了 glibc 2.28的版本
**注**如果操作系统支持的话还是选择新的但是考虑兼容性和维护性我个人的部署脚本中目前选择的还是glibc2.17的包
演示使用的是glibc2.28版本的包后续我也将这个版本的Mysql部署到开发和测试环境中使用组员一起体验他的稳定性和性能。
三、部署详情
1. 上传安装包
将安装包上传到服务器中使用root用户安装上传路径
/root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz 2. 解压软件包
安装包上传后执行解压到/dcsm目录下
# 新建dcsm文件夹
mkdir /dcsmtar -xvf /root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /dcsmcd /dcsm mv mysql-8.4.3-linux-glibc2.28-x86_64/ mysql3. 安装mysql
3.3.1 创建mysql用户与用户组
查询系统中是否存在mysql用户
cat /etc/passwd | cut -f1 -d: | grep -w mysql -cgroupadd mysql useradd -r -g mysql -s /bin/false mysql3.3.2 授权安装文件夹
# 创建相关文件夹
mkdir -p /dcdata/mysql/log mkdir -p /dcdata/mysql/data mkdir -p /dcdata/mysql/run mkdir -p /dcdata/mysql/lib# 授权
chown -R mysql:mysql /dcsm/mysql chown -R mysql:mysql /dcdata/mysql 3.3.3 安装libaio依赖 坑
这个依赖是和你操作系统版本有关系的
ubuntu24.04 中关于libaio的坑
该系统在安装后自带libaio 虽然whereis搜不到libaio.so.1 这个文件; 但系统中确实安装了 libaio
这也是我后续初始化依然报错的原因解决办法就是建立超链接让mysql在初始化的时候找到这个命令
ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1这里介绍查找方法
找一台和你镜像一样或者操作系统版本一样的可以联网的机器
apt search libaio 去/var/cache/apt/archives/ 下找到这个离线deb包 在离线环境下就可以直接dpkg -i 安装这个依赖包了
注如果不安装此依赖后续初始化mysql数据库时会提示缺少此依赖官网教程中也特意提到要安装这个依赖。
3.3.4 初始化Mysql数据库
cd /dcsm/mysql # 初始化
bin/mysqld --initialize --usermysql --basedir/dcsm/mysql --datadir/dcdata/mysql/data --log-error/dcdata/mysql/log/mysqld.log 注这是ubuntu24.04 上的坑。系统的 libaio.so.1 软连接的地址不存在
解决方法就是重新建立一个软链接
ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.13.3.5 编辑my.cnf
/etc/my.cnf
[mysqld]
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
#innodb_buffer_pool_size 128M
# join_buffer_size 128M
# sort_buffer_size 2M
# read_rnd_buffer_size 2M
basedir/dcsm/mysql
datadir/dcdata/mysql/data
socket/dcdata/mysql/lib/mysql.sock
port3306
log-error/dcdata/mysql/log/mysqld.log
pid-file/dcdata/mysql/run/mysqld.pid# 开启远程类似dblink
federated
log_bin_trust_function_creators1
# 时间跟随本地
log_timestampssystem
# 允许最大连接数
max_connections2000
# 关闭binlog日志
skip-log-bin[mysql]
socket/dcdata/mysql/lib/mysql.sock
3.3.6 配置环境变量
### 添加到系统服务中
cp /dcsm/mysql/support-files/mysql.server /etc/init.d/mysql chmod x /etc/init.d/mysql### 配置到环境变量中
echo /dcsm/mysql/lib /etc/ld.so.conf
echo #MYSQL ENVIRONMENT /etc/profile
echo export PATH/dcsm/mysql/bin:/dcsm/mysql/lib:\$PATH /etc/profile
source /etc/profile
3.3.7 启动mysql
### 重新加载systemd的配置信息
systemctl daemon-reload
systemctl start mysql设置开机启动
systemctl enable mysql
3.3.8 登录mysql
获取初始化密码
grep temporary password /dcdata/mysql/log/mysqld.log | awk {print $NF}3.3.8.1 创建root
创建mysql账号root并设置密码
mysql --connect-expired-password -uroot -p
然后输入上述密码
连上mysql后修改root密码
ALTER USER ‘root’‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘MyNewPass’; 原因参考[MySQL8.0.34 开始被弃用mysql_native_password插件](https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html#:~:textMySQL client programs in MySQL 8.4 (and later),what is desired%2C like this%3A %24 mysql --default-auth%3Dmysql_native_password)
3.3.8.2 Plugin ‘mysql_native_password’ is not load 两种解决办法
重新启动该插件不推荐
具体做法就是修改my.cnf 文件 重启mysql即可生效
使用官方推荐方式
ALTER USER rootlocalhost IDENTIFIED BY new_password;3.3.8.3 授权
use mysql; update user set host % where user root; flush privileges;至此部署完成~
四、快速部署脚本
该脚本适用于快速部署使用请注意安装包版本与系统版本
我用的是ubuntu24.04, mysql8.4.3tls
vim deploy_mysql.sh
#!/bin/bash### 假设安装包已上传到/root下### 解压软件包
mkdir /dcsm
tar -xvf /root/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /dcsm
cd /dcsm mv mysql-8.4.3-linux-glibc2.28-x86_64/ mysql### 创建 mysql 用户与用户组
if [ $(cat /etc/passwd | cut -f1 -d: | grep -w mysql -c) -eq 0 ]; thengroupadd mysql useradd -r -g mysql -s /bin/false mysql
fi### 授权安装文件夹
mkdir -p /dcdata/mysql/log mkdir -p /dcdata/mysql/data mkdir -p /dcdata/mysql/run mkdir -p /dcdata/mysql/lib
chown -R mysql:mysql /dcsm/mysql chown -R mysql:mysql /dcdata/mysql### 建立软链接
ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1### 初始化 Mysql
cd /dcsm/mysqlbin/mysqld --initialize --usermysql --basedir/dcsm/mysql --datadir/dcdata/mysql/data --log-error/dcdata/mysql/log/mysqld.log# 3.3.5 编辑 my.cnf
cat EOF /etc/my.cnf
[mysqld]
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
#innodb_buffer_pool_size 128M
# join_buffer_size 128M
# sort_buffer_size 2M
# read_rnd_buffer_size 2M
basedir/dcsm/mysql
datadir/dcdata/mysql/data
socket/dcdata/mysql/lib/mysql.sock
port3306
log-error/dcdata/mysql/log/mysqld.log
pid-file/dcdata/mysql/run/mysqld.pid# 开启远程类似 dblink
federated
log_bin_trust_function_creators1
# 时间跟随本地
log_timestampssystem
# 允许最大连接数
max_connections2000
# 关闭 binlog 日志
skip-log-bin[mysql]
socket/dcdata/mysql/lib/mysql.sock
EOF### 配置环境变量
cp /dcsm/mysql/support-files/mysql.server /etc/init.d/mysql chmod x /etc/init.d/mysql
echo /dcsm/mysql/lib /etc/ld.so.conf
echo #MYSQL ENVIRONMENT /etc/profile
echo export PATH/dcsm/mysql/bin:/dcsm/mysql/lib:\$PATH /etc/profile
source /etc/profile### 启动 mysql
systemctl daemon-reload
systemctl start mysql
systemctl enable mysql### mysql修改密码 并允许远程
initial_password$(grep temporary password /dcdata/mysql/log/mysqld.log | awk {print $NF})
mysql --connect-expired-password -uroot -p$initial_password EOF
ALTER USER rootlocalhost IDENTIFIED BY new_password;
use mysql; update user set host % where user root; flush privileges;
EOFsource /etc/profile脚本授权
chmod x deploy_mysql.sh
执行部署
./deploy_mysql.sh 连接成功