CentOS-7 下 systemctl 管理 mysql-5.7的不同,配置jemalloc

mysql-5.7 的 mysqld_safe去哪了?

  • 在CentOS-7下全面使用systemctl管理服务,包括mysqld,使用ps命令时见不到mysqld_safe。
  • 并且安装完mysql-5.7也找不到mysqld_safe
  • 安装完初始化mysql基本文件时,也不再使用mysqd_safe, 而是改用 mysqld –initialize 或 –initialize-insecure
  • 以上让我一度以为mysqld_safe弃用。my.cnf中还能使用配置[mysqld_safe]
  • 答案在:http://mysqlserverteam.com/mysql-5-7-native-systemd-support/

5.7 配置jemalloc

  • 先安装jemalloc

  • 由于cat /usr/lib/systemd/system/mysqld.service 文件中指定了环境变量值如下:

    # Use this to switch malloc implementation
    EnvironmentFile=-/etc/sysconfig/mysql

  • 所以写入libjemalloc.so路径到这个文件即可:

    echo ‘LD_PRELOAD=/usr/local/lib/libjemalloc.so’ > /etc/sysconfig/mysql

  • 另一个方法是修改my.cnf,加在[mysqld_safe]节点下:

    [mysqld_safe]
    malloc-lib= /path/to/jemalloc

  • 重启mysqld即生效。

    systemctl restart mysqld
    lsoft |grep jemalloc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章