解决不登录mysql不停服务就可以修改mysql参数值等操作

>>>ps -ef | grep mysqld
mysql      3068   1413  0 May30 ?        02:26:15 /servers/mysql-5.7.22/bin/mysqld --defaults-file=/servers/my3306/my.cnf --basedir=/servers/mysql-5.7.22 --datadir=/servers/my3306/data  --socket=/servers/my3306/run/mysqld.sock --port=3306
>>>gdb -p 3068 -ex "set max_connections=1200"
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Attaching to process 3068
Reading symbols from /servers/mysql-5.7.22/bin/mysqld...done.
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[New LWP 14461]
[New LWP 3401]
[New LWP 3393]
[New LWP 3371]
[New LWP 3143]
[New LWP 3131]
[New LWP 3130]
[New LWP 3129]
[New LWP 3128]
[New LWP 3127]
[New LWP 3126]
[New LWP 3125]
[New LWP 3124]
[New LWP 3123]
[New LWP 3122]
[New LWP 3121]
[New LWP 3120]
[New LWP 3119]
[New LWP 3118]
[New LWP 3117]
[New LWP 3116]
[New LWP 3115]
[New LWP 3114]
[New LWP 3113]
[New LWP 3109]
[New LWP 3108]
[New LWP 3107]
[New LWP 3106]
[New LWP 3105]
[New LWP 3104]
[New LWP 3103]
[New LWP 3102]
[New LWP 3101]
[New LWP 3100]
[New LWP 3099]
[New LWP 3098]
[New LWP 3097]
[New LWP 3096]
[New LWP 3095]
[New LWP 3094]
[New LWP 3093]
[New LWP 3092]
[New LWP 3091]
[New LWP 3090]
[New LWP 3089]
[New LWP 3088]
[New LWP 3087]
[New LWP 3086]
[New LWP 3085]
[New LWP 3084]
[New LWP 3083]
[New LWP 3082]
[New LWP 3081]
[New LWP 3080]
[New LWP 3079]
[New LWP 3078]
[New LWP 3077]
[New LWP 3076]
[New LWP 3075]
[New LWP 3074]
[New LWP 3073]
[New LWP 3072]
[New LWP 3071]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libaio.so.1...Reading symbols from /lib64/libaio.so.1...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libaio.so.1
Reading symbols from /lib64/libnuma.so.1...Reading symbols from /lib64/libnuma.so.1...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libnuma.so.1
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libstdc++.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libstdc++.so.6
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libfreebl3.so...Reading symbols from /lib64/libfreebl3.so...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libfreebl3.so
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /lib64/libnss_sss.so.2...Reading symbols from /lib64/libnss_sss.so.2...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libnss_sss.so.2
Reading symbols from /servers/mysql-5.7.22/lib/plugin/semisync_master.so...done.
Loaded symbols for /servers/mysql-5.7.22/lib/plugin/semisync_master.so
Reading symbols from /servers/mysql-5.7.22/lib/plugin/semisync_slave.so...done.
Loaded symbols for /servers/mysql-5.7.22/lib/plugin/semisync_slave.so
0x00007fdc8e18bf0d in poll () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64 libaio-0.3.109-13.el7.x86_64 libgcc-4.8.5-28.el7.x86_64 libstdc++-4.8.5-28.el7.x86_64 nss-softokn-freebl-3.28.3-6.el7.x86_64 numactl-libs-2.0.9-7.el7.x86_64 sssd-client-1.16.0-19.el7.x86_64
(gdb) 
(gdb) q
A debugging session is active.

        Inferior 1 [process 3068] will be detached.

Quit anyway? (y or n) y
Detaching from program: /servers/mysql-5.7.22/bin/mysqld, process 3068

在linux系统里,可以使用 gdb 工具(调试工具)去改变参数的值。

mysql> show variables like "%max_connections%";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1500  |
+-----------------+-------+
1 row in set (0.00 sec)
gdb -p 3068 -ex "set max_connections=1200"
mysql> show variables like "%max_connections%";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1200  |
+-----------------+-------+
1 row in set (0.00 sec)

3068 是mysql 进程的端口,“set max_connections=1200” 是设置mysql的变量值的。当然也可以更改其他的参数值或者执行其他的命令去影响当前服务的功能等。

gdb 是个作弊的好工具,在mac系统下也可以使用,大家自行查询安装方法。

大家切勿在正式环境乱测试,会搞坏服务的,切记。

猜你喜欢

转载自blog.csdn.net/dqchouyang/article/details/125390529