麒麟操作系统-MySQL5.7.36二进制安装

1、创建MySQL虚拟用户

复制代码
groupadd mysql
useradd -g mysql -s /sbin/nologin -M mysql

2、创建目录

复制代码
mkdir -p /data/file #创建文件目录
mkdir -p /opt/mysql #创建MySQL安装目录
mkdir -p /data/mysql/mysql3306/{data,logs} #创建MySQL数据及日志目录

3、安装MySQL5.7.36

复制代码
tar xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz #解压二进制包
mv mysql-5.7.36-linux-glibc2.12-x86_64 /opt/mysql/mysql-5.7.36 #将软件部分移动到指定目录
ln -s /opt/mysql/mysql-5.7.36/ /usr/local/mysql #创建软连接
rpm -e --nodeps mariadb-libs #删除系统MySQL

4、配置文件整理

复制代码
vi /data/mysql/mysql3306/my3306.cnf
[client]
#password       = your_password
port            = 3306
socket          = /data/mysql/mysql3306/mysql.sock
default-character-set=utf8

[mysqld]
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
binlog_cache_size=20M
thread_stack = 512K
join_buffer_size=20M
query_cache_type = 1
max_heap_table_size = 2048M
port=3306
socket=/data/mysql/mysql3306/mysql.sock
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/mysql3306/data
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
key_buffer_size = 1024M
max_allowed_packet=200G
table_open_cache = 4096
sort_buffer_size=4M
net_buffer_length = 4K
read_buffer_size = 4096K
read_rnd_buffer_size = 2048K
myisam_sort_buffer_size = 128M
thread_cache_size = 512
query_cache_size = 384M
tmp_table_size = 2048M
max_connections=10240
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server_id=1
expire_logs_days=7
slow_query_log=on
slow_query_log_file=/data/mysql/mysql3306/logs/slow.log
long_query_time=0.5
log_queries_not_using_indexes=1
log_error=/data/mysql/mysql3306/logs/error.log
log_bin=/data/mysql/mysql3306/logs/mysql-bin
gtid_mode=on
enforce_gtid_consistency=true
log_slave_updates=1
wait_timeout=1800
innodb_buffer_pool_size=8096M
innodb_log_file_size=256M
innodb_log_buffer_size=64M
innodb_flush_log_at_trx_commit=1
innodb_log_files_in_group=2
max_binlog_cache_size=8096M
max_binlog_size=8096M
secure_file_priv=/tmp/
binlog_group_commit_sync_delay=100 #主库
binlog_group_commit_sync_no_delay_count=20 #主库
slave_parallel_type=logical_clock #从库配置
slave_parallel_workers=4 #从库配置
transaction_write_set_extraction=XXHASH64 #从库配置
binlog_transaction_dependency_tracking=writeset #从库配置
slave_preserve_commit_order=1 #从库配置
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

5、安装MySQL依赖包

复制代码
yum install libaio-devel net-tools perl wget numactl -y

6、更改MySQL相关目录的用户组

复制代码
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mys*

7、初始化数据库

复制代码
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/data

8、加入环境变量

复制代码
vi /etc/profile
export PATH="/usr/local/mysql/bin:$PATH"
source /etc/profile

9、启动MySQL

复制代码
mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf &

10、获取临时密码

复制代码
grep 'temporary password' /data/mysql/mysql3306/logs/error.log

11、链接MySQL并修改密码

复制代码
mysql -uroot -p -S /data/mysql/mysql3306/mysql.sock
alter user root@'localhost' identified by '7E%mAt8mbZXQC1xy'; //第一次修改密码

12、设置开机启动

复制代码
vi /etc/systemd/system/mysqld3306.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=netwoek.target
After=syslog.target
[Install]
wantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf
LimitNOFILE=5000
[Install]
WantedBy=multi-user.target

systemctl enable mysqld3306.service #加入开机启动
systemctl start mysqld3306.service #启动命令
systemctl stop mysqld3306.service #关闭命令
systemctl status mysqld3306.service #状态命令
相关推荐
Мартин.6 分钟前
[CISSP] [5] 保护资产安全
数据库·安全·oracle
熠速6 分钟前
ITTIA DB Platform——实时嵌入式数据管理软件产品家族
数据库·嵌入式实时数据库
热爱编程的小曾39 分钟前
sqli-labs靶场 less 8
前端·数据库·less
THRUSTER111111 小时前
MySQL-- 函数(单行函数):数值函数, 字符串函数
数据库·mysql·函数·navicat·单行函数
橙序研工坊1 小时前
MySQL的进阶语法7(索引-B+Tree 、Hash、聚集索引 、二级索引(回表查询)、索引的使用及设计原则
数据库·sql·mysql
Bruce-li__1 小时前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
小光学长1 小时前
基于vue框架的智能服务旅游管理系统54kd3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
Bonnie_12152 小时前
07-MySQL-事务的隔离级别以及底层原理
数据库·mysql
ETLCloud数据集成社区2 小时前
ETLCloud是如何通过Oracle实现CDC的?
数据库·oracle·etl·实时数据同步
KATA~2 小时前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis