my.cnf是mysql启动时的配置文件
有些参数是运行时只读的,例如innodb_buffer_pool_size,
这些参数只能运行之前在配置文件修改,或者启动时带上参数
例如service mysql --innodb_buffer_pool_size=1G
有些参数是运行时可以修改的,例如max_allowed_packet,
这些参数可以再运行时修改,例如
mysql -uroot mysql
修改:
set global max_allowed_packet = 1024*1024*20;
扫描二维码关注公众号,回复:
1295730 查看本文章
查看:
show VARIABLES like '%max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 20971520 | +--------------------+----------+
也有一些参数可以运行前修改,但要做点额外的工作。
例如innodb_data_file_path,innodb_log_file_size,innodb_log_files_in_group等
修改这些参数,启动会与之前的配置冲突,
查看日志可以发现
InnoDB: Error: log file /var/lib/mysql/u01/mysql/data/ib_logfile0 is of different size 0 104857600 bytes
然后就导致启动失败了,会报类似这样的信息
Starting MySQL (Percona Server).The server quit without upd[失败]PID file
移除原来ib_logfile0,让mysql重新构建
InnoDB: Log file /var/lib/mysql/u01/mysql/data/ib_logfile0 did not exist: new to be created
InnoDB: Setting log file /var/lib/mysql/u01/mysql/data/ib_logfile0 size to 2048 MB