MySQL 5 7 1啟動方式

2021-08-07 17:46:44 字數 4982 閱讀 3495

載入配置檔案順序:/etc/my.cnf---->/etc/mysql/my.cnf----->/usr/local/mysql/etc/my.cnf---->~/.my.cnf

後面配置檔案會覆蓋前面配置檔案設定的引數

如果/etc/my.cnf配置檔案定義了innodb_buffer_pool_size=100m 而/etc/mysql/my.cnf配置檔案定義了innodb_buffer_pool_size=200m 則會載入200m的引數

open("/proc/self/status", o_rdonly)     = 3

fstat(3, ) = 0

mmap(null, 4096, prot_read|prot_write, map_private|map_anonymous, -1, 0) = 0x7fe7602eb000

read(3, "name:\tmysqld\nstate:\tr (running)\n"..., 1024) = 917

read(3, "", 1024) = 0

close(3) = 0

munmap(0x7fe7602eb000, 4096) = 0

futex(0x3b550f1d08, futex_wake_private, 2147483647) = 0

stat("/etc/my.cnf", ) = 0

open("/etc/my.cnf", o_rdonly) = 3

fstat(3, ) = 0

mmap(null, 4096, prot_read|prot_write, map_private|map_anonymous, -1, 0) = 0x7fe7602eb000

read(3, "#my.cnf\n[client]\nport "..., 4096) = 2479

read(3, "", 4096) = 0

close(3) = 0

munmap(0x7fe7602eb000, 4096) = 0

stat("/etc/mysql/my.cnf", 0x7fff3fce89a0) = -1 enoent (no such file or directory)

stat("/usr/local/mysql/etc/my.cnf", 0x7fff3fce89a0) = -1 enoent (no such file or directory)

stat("/root/.my.cnf", 0x7fff3fce89a0) = -1 enoent (no such file or directory)

getrlimit(rlimit_nofile, ) = 0

setrlimit(rlimit_nofile, ) = 0

getrlimit(rlimit_nofile, ) = 0

mmap(null, 1052672, prot_read|prot_write, map_private|map_anonymous, -1, 0) = 0x7fe75ffd0000

最佳啟動方式:

[root@vm-test1 data]# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &

[1] 3348

[root@vm-test1 data]# 

[root@vm-test1 data]# ps -ef |grep mysql

mysql      3348   3114  4 10:03 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

root       3380   3114  0 10:03 pts/1    00:00:00 grep mysql

[root@vm-test1 data]# 

多例項啟動方式:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf & #呼叫 mysqld

/usr/local/mysql/bin/mysqld  --defaults-file=/path/my.cnf &   #推薦方式

/usr/local/mysql/bin/mysqld_multi start 3306                  #關閉不了資料庫,perl 指令碼 呼叫 mysqld_safe和mysqld

幾種啟動方式關係:

service mysqld start 呼叫 mysqld_safe 呼叫 mysqld

mysqld_multi既可以直接呼叫mysql_safe 也可以直接呼叫mysqld

mysqld_safe啟動分析

可以讀取的配置部分mysqld、server、mysqld_safe

作業系統檔案數限制引數配置

open files 和 max_user_processes引數修改 乙個連線占用乙個執行緒

/etc/security/limits.conf

[root@vm-test1 data]# ulimit -a

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 14708

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 1024

pipe size (512 bytes, -p) 8

posix message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 10240

cpu time (seconds, -t) unlimited

max user processes (-u) 14708

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

[root@vm-test1 data]#

mysqld_multi 用於管理多例項啟動的乙個指令碼

讀取配置檔案中的[mysqld_multi],[mysqldn] n需要是乙個整數,建議使用埠號表示,這部分的配置在配置檔案裡面會覆蓋[mysqld]部分中的配置

[mysqld_multi]

mysqld=/usr/local/mysql/bin/mysqld_safe

mysqladmin=/usr/local/mysql/bin/mysqladmin

user=root

password=*********

log=/data/mysql/mysqld_muti.log

#(這裡的user、password自己指定,該賬號需要有shutdown許可權)

[mysqld3306]

port=3306

datadir=/data/mysql/mysql3306/data

socket/tmp/mysql3306.sock

server-id=203306

log-bin=/data/mysql/mysql3306/logs/mysql-bin

呼叫方式

mysqld_multi start|stop|reload|report  

*mysqld_multi只能識別的配置檔案就是在my.cnf,其他配置檔案不能識別

環境演示:mysql多例項3306 3307 3308

/etc/my.cnf

使用mysqld_muiti關閉例項bug修復,不能正常關機

my_print_defaults 引數

發現問題 密碼不能識別,密碼不能傳遞

vim /usr/local/mysql/bin/mysqld_multi

在my_print_defaults 後面新增-s引數

可以正常關閉多例項

*mysql遇到啟動錯誤的第一時間記得看error.log

常見啟動錯誤:

1、許可權錯誤

故障模擬:

mysqld_multi stop 3306

chown root:root mysql3306/ -r

開始啟動3306例項 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &

這個時候發現並起不來,直接退出了

使用strace命令進行追蹤

strace /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf  2>&1|tee log

再將許可權改回來 很簡單 就是乙個排查的思路 記得使用strace

chown mysql:mysql /data/mysql/mysql3306/  -r

2、引數配置錯誤導致mysql起不來

檢視error.log都能找到原因

*確保getenforce為disabled狀態

perror檢視**錯誤資訊

64位Win10系統安裝Mysql5 7 11

最近在裝了64位win10系統的mac book筆記本上用mysql installer community 5.7.11.0安裝mysql5.7.11,在配置mysql server時老是卡住,報錯。在別的pc相同windows系統,自動安裝沒問題 估計是硬碟空間不夠,有些臨時檔案無法儲存的原因。...

mysql啟動幾種方式 mysql啟動的四種方式

mysql的四種啟動方式 1 mysqld 啟動mysql伺服器 mysqld defaults file etc my.cnf user root 客戶端連線 mysql defaults file etc my.cnf ormysql s tmp mysql.sock 2 mysqld safe...

啟動mysql配置檔案的啟動方式

mysql 配置檔案載入位置與順序 1.usr local mysql bin mysqld verbose help help.txt 2 1 usr local mysql bin mysqld verbose help 這個命令生成所有mysqld選項和可配置變數的列表 然後重定向到help....