银河麒麟-海光SP3编译安装mysql8

在这里插入图片描述

前言

公司软件要适配新的操作系统:银河麒麟高级服务器操作系统V10(海光版),软件使用的是mysql8,要实现的目标是:mysql8集成到软件中,软件安装过程中适配好mysql8环境;经过一番调查最终完成,适配过程整理如下;

下载安装操作系统

  1. 官网下载:银河麒麟高级服务器操作系统V10(海光版)
    在这里插入图片描述
  2. 网盘下载: 夸克网盘-Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso

下载mysql

1.官网下载:mysql-8.0.36.tar.gz
在这里插入图片描述

  1. 网盘下载:百度网盘-mysql-8.0.35-linux-glibc2.28-x86_64.tar,提取码【quwr】

编译安装mysql

上传解压重命名mysql安装包

# 解压mysql安装包
tar -xvf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
# 重命名mysql安装目录
mv mysql-8.0.35-linux-glibc2.28-x86_64 mysql-8.0.35

创建文件目录并授权

# 创建mysql数据存放路径:data;my.cnf配置文件路径:etc
mkdir data etc
# 更改MySQL目录下所有的目录文件夹所属组和用户以及权限
chown -R mysql:mysql /opt/mysql-8.0.35
chmod -R 755 /opt/mysql-8.0.35

如果出现 chown: invalid user: ‘mysql:mysql’ 错误,说明mysql用户不存在,执行以下命令,操作完再执行更改权限命令;

groupadd mysql
useradd -r -g mysql mysql

my.cnf自定义

在/etc/目录下,创建一个my.cnf文件,配置信息根据自己情况自定义即可

[client]
port        = 18890
socket      =  /tmp/mysql.sock
[mysqld]
# skip-grant-tables
skip-external-locking
skip-name-resolve
bind-address  = 0.0.0.0
port = 18890
user = mysql
socket      =  /tmp/mysql.sock
basedir=/opt/mysql-8.0.35
datadir=/opt/mysql-8.0.35/data
lower_case_table_names 	= 1
character-set-server=utf8
default-storage-engine=INNODB
default-time-zone=+08:00
default_authentication_plugin=mysql_native_password
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
max_connections=100
#query_cache_size= 0 
tmp_table_size=35M
thread_cache_size= 8 
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
#wait_timeout=50
innodb_flush_log_at_trx_commit = 0 
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=54M
innodb_thread_concurrency=10
max_allowed_packet=100M
innodb_strict_mode=0
# 存储过程修改。。。
log_bin_trust_function_creators=1

编译安装并初始化MySQL数据库

初始化完成,会生成临时随机密码

# 初始化mysql
mysqld --user=mysql --datadir=/opt/mysql-8.0.35/data --basedir=/opt/mysql-8.0.35 --lower-case-table-names=1 --initialize

–user=mysql: 使用mysql用户来运行MySQL服务器进程。
–datadir=/opt/mysql-8.0.35/data: 设置数据目录为/opt/mysql-8.0.35/data。MySQL的数据文件、表和日志等都存储在这个目录中。
–basedir=/opt/mysql-8.0.35: 设置MySQL的基本目录为/opt/mysql-8.0.35。这个目录通常包含MySQL的二进制文件和配置文件等。
–lower-case-table-names=1: 强制MySQL使用小写来存储表名。这是在Windows上启动MySQL的一种常见方式,因为在Windows的文件系统上,大小写是不敏感的,但MySQL默认使用的是大写来区分表名,这可能会导致与Linux等其他系统的兼容性问题。通过设置这个选项,可以确保表名在Windows和其他系统上的一致性。
–initialize: 这个选项告诉MySQL服务器在启动时初始化数据库。通常在第一次安装MySQL或者重置数据库时使用这个选项。

在这里插入图片描述

启动配置mysql

启动mysql

cd /opt/mysql-8.0.35/bin
./mysqld_safe --defaults-file=/opt/mysql-8.0.35/etc/my.cnf --user=mysql

./mysqld_safe: 这是MySQL服务器的一个启动脚本。mysqld_safe脚本用于启动mysqld服务器进程,并确保它在后台运行。它还处理某些信号和重定向标准错误输出。
–defaults-file=/opt/mysql-8.0.35/etc/my.cnf: 这个选项指定了配置文件的路径。my.cnf文件包含了MySQL服务器的配置选项。通过使用这个选项,你可以告诉mysqld_safe使用指定的配置文件,而不是默认的配置文件。
–user=mysql: 这个选项指定了运行MySQL服务器进程的用户。在这里,它被设置为mysql用户。这确保了MySQL进程在安全的环境下运行,并具有适当的权限。

在这里插入图片描述

登录配置mysql

cd /opt/mysql-8.0.35/bin
# 登录密码为初始化生成的随机密码“gB?+g2lo!lw+”
./mysql -uroot -p
# 修改密码
alter user user() identified by 'password';

如使用过程出现以下错误请执行如下命令:

Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

use mysql;
select user,plugin from user where user='root';
alter user 'root'@'localhost' identified with mysql_native_password by 'password';
flush privileges;

编写脚本启动mysql

在mysql同级目录下,创建zkmysql.sh文件,后续启动zkmysql.sh即可

#!/bin/bash

SOURCE="${BASH_SOURCE[0]}"
while [[ -h "$SOURCE" ]]; do
    CURDIR_PATH="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
    SOURCE="$(readlink "$SOURCE")"
    [[ $SOURCE != /* ]] && SOURCE="$CURDIR_PATH/$SOURCE"
done
CURDIR_PATH="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

export LD_LIBRARY_PATH=$CURDIR_PATH/mysql-8.0.35/lib:$LD_LIBRARY_PATH
export PATH=$CURDIR_PATH/mysql-8.0.35:$PATH

exec $CURDIR_PATH/mysql-8.0.35/bin/mysqld_safe --defaults-file=$CURDIR_PATH/mysql-8.0.35/etc/my.cnf --user=root
  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值