ubuntu MySQL配置文件


查看配置文件: locate my.cnf

查看配置文件路徑: /記得要在配置環境變量后執行下列命令

which mysqld
/usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'

 

查看是否使用了指定目錄的my.cnf:   ps aux|grep mysql|grep 'my.cnf'

查看mysql默認讀取my.cnf的目錄: mysql --help|grep 'my.cnf'

https://www.linuxidc.com/Linux/2014-10/108644.htm

一. ubuntu下mysql安裝布局:  

https://blog.csdn.net/kelingbest/article/details/46981027

https://segmentfault.com/a/1190000017366978

/usr/bin                      客戶端程序和mysql_install_db
/var/lib/mysql            數據庫和日志文件
/var/run/mysqld         服務器
/etc/mysql               配置文件my.cnf
/usr/share/mysql       字符集,基准程序和錯誤消息
/etc/init.d/mysql        啟動mysql服務器

 二.配置 my.cnf文件

[client]

port = 3306
socket = /tmp/mysql.sock
1
2
[mysqld]

#Mysql服務的唯一編號 每個mysql服務Id需唯一
server-id = 1

#服務端口號 默認3306
port = 3306

#mysql安裝根目錄
basedir = /usr/local/mysql

#mysql數據文件所在位置
datadir = /usr/local/mysql/data

#臨時目錄
tmpdir  = /tmp

#設置socke文件所在目錄
socket = /tmp/mysql.sock

#主要用於MyISAM存儲引擎,如果多台服務器連接一個數據庫則建議注釋下面內容
skip-external-locking

#只能用IP地址檢查客戶端的登錄,不用主機名
skip_name_resolve = 1

#事務隔離級別,默認為可重復讀,mysql默認可重復讀級別(此級別下可能參數很多間隙鎖,影響性能)
transaction_isolation = READ-COMMITTED

#數據庫默認字符集,主流字符集支持一些特殊表情符號(特殊表情符占用4個字節)
character-set-server = utf8mb4

#數據庫字符集對應一些排序等規則,注意要和character-set-server對應
collation-server = utf8mb4_general_ci

#設置client連接mysql時的字符集,防止亂碼
init_connect='SET NAMES utf8mb4'

#是否對sql語句大小寫敏感,1表示不敏感
lower_case_table_names = 1

#最大連接數
max_connections = 400

#最大錯誤連接數
max_connect_errors = 1000

#TIMESTAMP如果沒有顯示聲明NOT NULL,允許NULL值
explicit_defaults_for_timestamp = true

#SQL數據包發送的大小,如果有BLOB對象建議修改成1G
max_allowed_packet = 128M


#MySQL連接閑置超過一定時間后(單位:秒)將會被強行關閉
#MySQL默認的wait_timeout  值為8個小時, interactive_timeout參數需要同時配置才能生效
interactive_timeout = 1800
wait_timeout = 1800

#內部內存臨時表的最大值 ,設置成128M。
#比如大數據量的group by ,order by時可能用到臨時表,
#超過了這個值將寫入磁盤,系統IO壓力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728

#禁用mysql的緩存查詢結果集功能
#后期根據業務情況測試決定是否開啟
#大部分情況下關閉下面兩項
query_cache_size = 0
query_cache_type = 0

#數據庫錯誤日志文件
log_error = error.log

#慢查詢sql日志設置
slow_query_log = 1
slow_query_log_file = slow.log

#檢查未使用到索引的sql
log_queries_not_using_indexes = 1

#針對log_queries_not_using_indexes開啟后,記錄慢sql的頻次、每分鍾記錄的條數
log_throttle_queries_not_using_indexes = 5

#作為從庫時生效,從庫復制中如何有慢sql也將被記錄
log_slow_slave_statements = 1

#慢查詢執行的秒數,必須達到此值可被記錄
long_query_time = 8

#檢索的行數必須達到此值才可被記為慢查詢
min_examined_row_limit = 100

#mysql binlog日志文件保存的過期時間,過期后自動刪除
expire_logs_days = 5

 本機的

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
# basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
# datadir= /var/lib/mysql
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認為UTF8
character-set-server=utf8mb4
#使用–skip-external-locking MySQL選項以避免外部鎖定。該選項默認開啟
external-locking = FALSE
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password

[mysqld_safe]
log-error=error.log
#pid-file=mysqld.pid
# 定義mysql應該支持的sql語法,數據校驗
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4

 三.賦予mysql讀取上面配置里文件夾的權限

chown mysql:mysql -R ../* //進入/home/share目錄輸入該命令

四.啟動mysqld_safe

進入/bin/mysql/  目錄輸入   注意一定要在本機創建目錄

mkdir
touch mysql-error.log
touch mysql-slow.log
touch mysqld.pid
touch mysql.sock
touch mysqld.sock
mkdir tmp
chown mysql:mysql -R ../*
mysqld_safe

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM