嘟嘟社区

[经验] MySQL 优化服务


小弟 MySQL 内核研发, 兼职 DBA, 有偿提供 MySQL 优化服务, 包括但不限于性能调优, SQL 优化.

收费标准: 300 RMB/一次, 复杂问题另议.  灰黑产勿扰,国内北岸的站点可长期提供技术支持.

实际案例都是 mjj 们的站,我也没法给大家贴 SQL 和场景出来.

联系方式 tg: Pedia1110  

国内北岸的站点会用TG?
这里是mjj,你这玩法 :卒
优化是不可能优化的,又不是不能用
最好的优化就是改代码 和数据结构,治标不治本
是优化my.conf吗?还是数据库里面表

逍遥九哥 发表于 2022-4-27 13:25
是优化my.conf吗?还是数据库里面表

都可以

不是程序决定的吗?加上缓存不行就堆配置
#!/bin/sh
#
# $FreeBSD: head/databases/mysql56-server/files/mysql-server.in 466505 2018-04-04 20:45:14Z mmokhi $
#

# PROVIDE: mysql
# REQUIRE: LOGIN
# KEYWORD: shutdown

#
# Add the following line to /etc/rc.conf to enable mysql:
# mysql_enable (bool):        Set to "NO" by default.
#                        Set it to "YES" to enable MySQL.
# mysql_dbdir (str):        Default to "/var/db/mysql"
#                        Base database directory.
# mysql_confdir (str):        Default to "/usr/local/etc/mysql"
#                        Base configuration directory.
# mysql_optfile (str):        Server-specific option file.
#                        Set it in the rc.conf or default behaviour of
#                        `mysqld_safe` itself, will be picking
#                        ${mysql_confdir}/my.cnf if it exists.
# mysql_pidfile (str):        Custum PID file path and name.
#                        Default to "${mysql_dbdir}/${hostname}.pid".
# mysql_args (str):        Custom additional arguments to be passed
#                        to mysqld_safe (default empty).
#

. /etc/rc.subr

name="mysql"
rcvar=mysql_enable

load_rc_config $name

: ${mysql_enable="NO"}
: ${mysql_dbdir="/var/db/mysql"}
: ${mysql_confdir="/usr/local/etc/mysql"}
if [ -f "${mysql_confdir}/my.cnf" ]; then
: ${mysql_optfile="${mysql_confdir}/my.cnf"}
elif [ -f "${mysql_dbdir}/my.cnf" ]; then
: ${mysql_optfile="${mysql_dbdir}/my.cnf"}
fi
if [ ! -z "${mysql_optfile}" ]; then
mysql_extra="–defaults-extra-file=${mysql_optfile}"
fi

mysql_user="mysql"
: ${hostname:=`/bin/hostname`}
pidfile=${mysql_pidfile:-"${mysql_dbdir}/${hostname}.pid"}
command="/usr/sbin/daemon"
command_args="-c -f /usr/local/bin/mysqld_safe ${mysql_extra} –basedir=/usr/local –datadir=${mysql_dbdir} –pid-file=${pidfile} –user=${mysql_user} ${mysql_args}  "
procname="/usr/local/libexec/mysqld"
start_precmd="${name}_prestart"
start_postcmd="${name}_poststart"
mysql_install_db="/usr/local/bin/mysql_install_db"
mysql_install_db_args="${mysql_extra} –basedir=/usr/local –datadir=${mysql_dbdir} –force"

mysql_create_auth_tables()
{
        eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
        [ $? -eq 0 ] && chown -R ${mysql_user}{mysql_user} ${mysql_dbdir}
}

mysql_prestart()
{
        if [ ! -d "${mysql_dbdir}/mysql/." ]; then
                mysql_create_auth_tables || return 1
        fi
        return 0
}

mysql_poststart()
{
        local timeout=15
        while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
                timeout=$(( timeout – 1 ))
                sleep 1
        done
        return 0
}

run_rc_command "$1"

mysql  启动不了  TOP 没有pid 哪里出问题了