麒麟v10安装mysql8(以arm架构为例)

1.查询Linux版本及架构

# 查看Linux架构
uname -m
# 查看gblic版本,按照该版本下载mysql安装包
ldd --version

在这里插入图片描述

2.准备mysql安装包

mysql安装包
在这里插入图片描述

3.安装环境检查

# 麒麟V10 sp3默认安装mariadb的,需要卸载掉。
yum list installed | grep mariadb
# 如果查找出来存在相关的文件 执行。直到把所有的都删完
yum remove xxx(上一步的返回值) -y

4.上传mysql安装包

tar -xvf mysql-8.0.42-linux-glibc2.28-aarch64.tar.xz

mv mysql-8.0.42-linux-glibc2.28-aarch64/ mysql-8.0.42

mv mysql-8.0.42 /u01/app

5.创建MySQL需要的目录及授权

# cd到业务路径下
cd /u01/app/mysql-8.0.42
# 创建数据存储、日志存储、临时文件路径
sudo mkdir {data,log,tmp}
# 增加mysql用户、用户组,提高系统安全性
sudo groupadd mysql
sudo useradd -g mysql mysql
sudo chown -R mysql:mysql /u01/app/mysql-8.0.42/
echo 'export PATH=$PATH:/u01/app/mysql-8.0.42/bin' >> /etc/profile
source /etc/profile

6.编写Mysql配置文件

echo ' # 正常情况下是没有这个文件的,执行保存之后会自动创建
[mysqld]
#允许所有 IP 连接(0.0.0.0 表示不限制)‌
bind-address = 0.0.0.0
 
#自定义 MySQL 服务端口(默认 3306)
port = 23306
 
#MySQL 安装目录。
basedir = /u01/app/mysql-8.0.42/
 
#数据文件存储路径
datadir = /u01/app/mysql-8.0.42/data
 
#本地连接使用的 Unix 套接字文件。
socket = /tmp/mysql.sock
 
#错误日志路径(排查故障关键文件)
log-error = /u01/app/mysql-8.0.42/log/error.log
 
#进程 ID 文件路径。
pid-file = /u01/app/mysql-8.0.42/data/mysql.pid
 
#临时文件目录‌
tmpdir = /u01/app/mysql-8.0.42/tmp
 
#表名存储为小写,比较时不区分大小写。
lower_case_table_names = 1
#表名存储为创建时的大小写,但比较时转换为小写‌
#lower_case_table_names = 2
 
 
#默认引擎(推荐 InnoDB)
default-storage-engine=INNODB
 
#InnoDB 缓冲池大小
innodb_buffer_pool_size = 5G

# 服务端默认字符集
character-set-server = utf8mb4
#允许的最大数据包大小(避免大数据插入/导出失败)
max_allowed_packet=100M' > /etc/my.cnf

7.初始化数据库

mysqld --initialize --user=mysql --datadir=/u01/app/mysql-8.0.42/data --basedir=/u01/app/mysql-8.0.42/

tail -n 500 log/error.log #查看root的初始化密码,以及是否有报错。

8.设置数据库开机自启动

cp -a /u01/app/mysql-8.4.8/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
echo 'export PATH=$PATH:/u01/app/mysql-8.4.8/bin' >> ~/.bashrc
source ~/.bashrc
service mysql start

9.修改root密码,开放远程登录

#登录数据库
mysql -uroot -p'tail -n 500 log/error.log这步root初始密码'
#修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
#打开root远程登录,刷新权限
use mysql;
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐