银河麒麟(ky10.aarch64)操作系统安装部署mysql5.7.26

准备安装包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.29.tar.gz

wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz

安装编译环境

yum install -y gcc gcc-c++ make cmake ncurses ncurses-devel bison libtirpc libtirpc-devel rpcgen

创建mysql用户

useradd mysql -s /sbin/nologin

解压rpcsvc安装包

tar xvf rpcsvc-proto-1.4.tar.gz

cd rpcsvc-proto-1.4

编译安装

./configure && make && make install

解压mysql安装包

tar xvf mysql-boost-5.7.29.tar.gz

cd mysql-5.7.29

编译安装

cpp 复制代码
cmake \
-DCMAKE_INSTALL_PREFIX=${mysql_home} \
-DSYSTEMD_PID_DIR=${mysql_home} \
-DMYSQL_UNIX_ADDR=${mysql_home}/mysql.sock \
-DMYSQL_DATADIR=${mysql_home}/data \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BOOST=${boost_home}/boost_1_59_0 \
-DWITH_SYSTEMD=1 && \
make -j $(nproc) && \
make install

数据库授权

chown -R mysql.mysql ${mysql_home}

修改配置文件

vim /etc/my.cnf

cpp 复制代码
[client]
socket=/opt/mysql/data/mysql.sock
default-character-set=utf8

[mysqld]
datadir=/opt/mysql/data
socket=/opt/mysql/data/mysql.sock
port=3306
skip-ssl
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

max_connections=3000
lower_case_table_names=1
skip-name-resolve=1
log_bin_trust_function_creators=1
transaction_isolation=READ-COMMITTED
binlog_format=mixed
max_allowed_packet=104857600

local-infile=0
skip_symbolic_links=yes
sql_mode=STRICT_ALL_TABLES,NO_AUTO_CREATE_USER


symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

新增完成之后需要创建一个日志文件

touch /var/log/mysqld.log

授权

chown -R mysql:mysql /var/log/mysqld.log

初始化数据库

cpp 复制代码
mysqld --initialize-insecure --user=mysql --basedir=${mysql_home} --datadir=${mysql_home}/data

初始化完成之后查看data目录是否有文件写入

启动mysql

cpp 复制代码
cp ${mysql_home}/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl enable mysqld.service
systemctl start mysqld.service

一般初始化之后root密码默认为空,直接回车。

mysql - uproot -p

修改root密码

alter user 'root'@'localhost' identified by '新密码';

创建用户

GRANT ALL PRIVILEGES ON . TO '用户名'@'%' IDENTIFIED BY '密码' WITH

GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

相关推荐
leoZ2311 分钟前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb
她说..29 分钟前
MySQL 与 Java 的 JSON 数据处理
java·mysql·json·springboot
Rain的Java大神之路2 小时前
手写一个Spring容器
java·后端·mysql·spring·面试
云贝贝贝2 小时前
MySQL 运维高频 6 坑:字符集、超时、SQL_MODE、隐式转换、Online DDL、主从延迟
运维·sql·mysql
jyOverQ17 小时前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
没文化的阿浩17 小时前
【MySQL】用户管理
android·mysql·adb
ShineWinsu19 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
‎ദ്ദിᵔ.˛.ᵔ₎19 小时前
MySQL 数据类型
数据库·mysql
这个DBA有点耶19 小时前
索引合并不是万能药:MySQL同时用两个索引,为什么比不用还慢?
数据库·mysql·dba
大牧师21 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据