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
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
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
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
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
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
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
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
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
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
- 01
- libblockdev库本地提权漏洞(CVE-2025-6019)08-08
- 02
- postgreSQL通过keepalived配置主从自动切换06-30
- 03
- ubuntu2204编译安装php7.4.3306-30