努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • 安全记录
  • 分布式存储
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • 安全记录
  • 分布式存储
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • Mysql

    • mysql安装
    • Mysql数据库备份
    • mysql主从复制
    • mysql高可用MHA
    • binlog2sql安装及mysql数据恢复
    • mysql二进制安装5.7.38
      • mysql二进制安装5.7
        • 创建用户
        • 下载安装包
        • 生成、配置
        • 生成启动配置文件
        • 防火墙开启白名单
      • mysql二进制安装8.0
        • 安装配置mysql环境
        • 添加到systemd管理
  • PostgreSQL

  • Redis

  • MongoDB

  • ClickHouse

  • SqlServer

  • openGuassDB

//
  • DBA
  • Mysql
yangfk
2024-09-27

mysql二进制安装5.7.38

//

# mysql二进制安装5.7

  • 安装基础工具包

yum install -y curl gcc bison-devel openssl-devel bison libaio-devel cmake

# 创建用户

id mysql
if [ $? -ne 0 ];then
    useradd mysql -s /sbin/nologin -M
fi
1
2
3
4

# 下载安装包

mkdir /data/
cd /data
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

#解压
tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
1
2
3
4
5
6

# 生成、配置

  • 5.7
Dir=/data

mkdir -p  /data/mysql
cd /data/mysql

[ -d ${Dir} ]||mkdir ${Dir}
[ -d ${Dir}/mysql/data ] || mkdir -p ${Dir}/mysql/data
[ -d ${Dir}/mysql/var ] || mkdir -p ${Dir}/mysql/var
[ -d ${Dir}/mysql/tmp ] || mkdir -p ${Dir}/mysql/tmp
[ -d ${Dir}/mysql/logs/innodblog ] || mkdir -p ${Dir}/mysql/logs/innodblog
> ${Dir}/mysql/logs/mysql-error.log

#拷贝二进制文件
cp -a /data/mysql-5.7.38-linux-glibc2.12-x86_64/bin /data/mysql/bin


export LD_LIBRARY_PATH=/data/soft/mysql-8.0.32-el7-x86_64/lib/private/

#初始化
/data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=${Dir}/mysql/ --datadir=${Dir}/mysql/data --tmpdir=${Dir}/mysql/tmp


#授权
chown -R mysql.mysql ${Dir}/mysql/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  • 8.0

#mysql8默认区分大小写,只有初始化时可以设置

./mysqld --initialize--user=mysgl --lower-case-table-names=1
1
2
3
4

# 生成启动配置文件

cat >>/usr/lib/systemd/system/mysqld.service<<OPO
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=${Dir}/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
OPO

#启动
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 防火墙开启白名单

firewall-cmd --add-source=192.168.248.0/24 --zone=trusted firewall-cmd --add-source=192.168.248.0/24 --zone=trusted --permanent

# mysql二进制安装8.0

操作系统:ubuntu-22.04

  • 下载解压
#下载解压!!! :mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz

cd /data
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.40-linux-glibc2.28-x86_64.tar

tar xf mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz

ln -s /data/mysql-8.0.40-linux-glibc2.28-x86_64 /data/mysql
1
2
3
4
5
6
7
8

# 安装配置mysql环境

/etc/my.cnf

test -f /etc/my.cnf&& cp /etc/my.cnf{,.bak}

cat >/etc/my.cnf<<'EOF'
[mysqld]
basedir = /data/mysql
datadir = /data/mysql/data
port = 3306
bind-address = 0.0.0.0
socket = /tmp/mysql.sock
user = mysql
pid-file=/data/mysql/logs/mysql-master.pid


host_cache_size=0
binlog_expire_logs_seconds=604800
log_replica_updates


init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
skip-external-locking
skip-name-resolve
default-storage-engine=InnoDB

log_error = /data/mysql/logs/mysql-error.log
long_query_time = 1
slow-query-log = 1
slow_query_log_file = /data/mysql/logs/mysql-slow.log


thread_cache_size       = 64
key_buffer_size         = 256M
max_allowed_packet      = 128M
table_open_cache        = 2048
sort_buffer_size        = 2M
read_buffer_size        = 2M
read_rnd_buffer_size    = 8M
max_heap_table_size     = 128M
tmp_table_size          = 128M
join_buffer_size        = 1024K
max_connections         = 3000
group_concat_max_len = 200000
low_priority_updates    = 1
concurrent_insert       = 2


log-bin                 = mysql-bin
binlog_format           = mixed
server-id               = 111
log-bin                 = /data/mysql/logs/mysql-bin.log

binlog-ignore-db        = mysql
binlog-ignore-db        = test
binlog-ignore-db        = information_schema
binlog-ignore-db        = performance_schema


lower-case-table-names=1
log_bin_trust_function_creators=1

#default_authentication_plugin=mysql_native_password
#select host,user,ssl_type,ssl_cipher,x509_issuer,x509_subject,plugin from mysql.user;
#ALTER USER 'repli'@'%' IDENTIFIED BY 'replicationPass' PASSWORD EXPIRE NEVER;
#ALTER USER 'repli'@'%' IDENTIFIED WITH mysql_native_password BY 'replicationPass';


lower_case_table_names = 1
log_bin_trust_function_creators=1
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO


innodb_adaptive_hash_index = 1
innodb_autoinc_lock_mode = 1
innodb_buffer_pool_size = 8GB  #根据服务器内存资源调整 60%-80%
innodb_doublewrite = 1
innodb_fast_shutdown = 1
innodb_flush_log_at_trx_commit = 0
innodb_force_recovery = 0
innodb_lock_wait_timeout = 50
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  • 配置服务
#初始化需要包
#yum install  -y   libaio-devel
apt install libaio-dev

useradd mysql -s /sbin/nologin -M

#数据库目录

Dir=/data

mkdir -p ${Dir}/mysql/{data,logs}

>  ${Dir}/mysql/logs/mysql-error.log

chown -R mysql.mysql ${Dir}/mysql


export LD_LIBRARY_PATH=${Dir}/mysql/lib/private/
${Dir}/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=${Dir}/mysql/ --datadir=${Dir}/mysql/data --lower-case-table-names=1

Dir=/data
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${Dir}/mysql/lib/private/" >> /etc/profile
echo 'export PATH=/data/mysql/bin:$PATH' >> /etc/profile


#alter user root@'192.168.0.%' identified  by  "Yfklife#2wsx";
#alter user root@'localhost' identified  by  "1qaz2wsx";
#CREATE USER 'dev'@'%' IDENTIFIED WITH mysql_native_password BY "Yfklife#2wsx";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

# 添加到systemd管理

test -f /usr/lib/systemd/system/mysqld.service && cp /usr/lib/systemd/system/mysqld.service{,.bak}

cat >/usr/lib/systemd/system/mysqld.service<<'EOF'
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Environment=LD_LIBRARY_PATH=/data/mysql/var/lib/private
ExecStart=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2025/08/25, 15:58:25
binlog2sql安装及mysql数据恢复
YUM安装postgreSQL与基本配置

← binlog2sql安装及mysql数据恢复 YUM安装postgreSQL与基本配置→

最近更新
01
libblockdev库本地提权漏洞(CVE-2025-6019)
08-08
02
postgreSQL通过keepalived配置主从自动切换
06-30
03
ubuntu2204编译安装php7.4.33
06-30
更多文章>
Theme by Vdoing | Copyright © 2019-2025 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//