本文目錄一覽:
- 1、如何減輕MySQL資料庫的工作壓力
- 2、如何在linux中安裝mysql
- 3、linux下mysql問題
- 4、網站訪問量大 怎樣優化mysql資料庫
- 5、LINUX下的MYSQL問題
- 6、關於紅帽子linuxAS5中mysql加固
如何減輕MySQL資料庫的工作壓力
當使用MySQL資料庫的網站訪問量越來越大的時候,它的壓力也會越來越大,那麼如何給MySQL資料庫減壓呢?那就是優化! 單機MySQL的優化有三種方法。分別是:一、伺服器物理硬體的優化;二、MySQL安裝時的編譯優化;三、自身配置文件my.cnf的優化。一、伺服器物理硬體的優化1、磁碟尋道能力(磁碟I/O) 是制約MySQL性能的最大因素之一,建議使用RAID1+0磁碟陣列,另外最好不要嘗試使用RAID-5,因為MySQL在RAID-5磁碟陣列上的效率實際上並不是很快;2、CPU也很重要,對於MySQL應用,推薦使用DELL R710,E5620 @2.40GHz(4 core)* 2或跟這個處理能力差不多的也行。 3、物理內存,物理內存對於一台使用MySQL的Database Server來說,伺服器內存建議不要小於2GB,推薦使用4GB以上的物理內存。二、MySQL安裝時的編譯優化 建議採取編譯安裝的方法,這樣性能上有較大提升,伺服器系統建議用64bit的Centos5.5,源碼包的編譯參數會默認以Debgu模式生成二進位代碼,而Debug模式給MySQL帶來的性能損失是比較大的,所以當我們編譯準備安裝的產品代碼時,一定不要忘記使用「—without-debug」參數禁用Debug模式。 而如果把—with-mysqld-ldflags和—with-client-ldflags二個編譯參數設置為—all-static的話,可以告訴編譯器以靜態方式編譯和編譯結果代碼得到最高的性能。使用靜態編譯和使用動態編譯的代碼相比,性能差距可能會達到5%至10%之多。三、自身配置文件my.cnf的優化 當解決了上述伺服器硬體制約因素後,讓我們看看MySQL自身的優化是如何操作的。對 MySQL自身的優化主要是對其配置文件my.cnf中的各項參數進行優化調整。下面我們介紹一些對性能影響較大的參數。下面,我們根據以上硬體配置結合一份已經優化好的my.cnf進行說明:#vim /etc/my.cnf以下只列出my.cnf文件中[mysqld]段落中的內容,其他段落內容對MySQL運行性能影響甚微,因而姑且忽略。[mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sockskip-locking#避免MySQL的外部鎖定,減少出錯幾率增強穩定性。skip-name-resolve#禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求!back_log = 384#back_log參數的值指出在MySQL暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。 如果系統在一個短時間內有很多連接,則需要增大該參數的值,該參數值指定到來的TCP/IP連接的偵聽隊列的大小。不同的操作系統在這個隊列大小上有它自 己的限制。 試圖設定back_log高於你的操作系統的限制將是無效的。默認值為50。對於Linux系統推薦設置為小於512的整數。key_buffer_size = 384M#key_buffer_size指定用於索引的緩衝區大小,增加它可得到更好的索引處理性能。對於內存在4GB左右的伺服器該參數可設置為256M或384M。注意:該參數值設置的過大反而會是伺服器整體效率降低!max_allowed_packet = 4M thread_stack = 256K table_cache = 614K sort_buffer_size = 6M#查詢排序時所能使用的緩衝區大小。注意:該參數對應的分配內存是每連接獨佔,如果有100個連接,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600MB。所以,對於內存在4GB左右的伺服器推薦設置為6-8M。read_buffer_size = 4M#讀查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。join_buffer_size = 8M#聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。myisam_sort_buffer_size = 64M table_cache = 512 thread_cache_size = 64 query_cache_size = 64M#指定MySQL查詢緩衝區的大小。可以通過在MySQL控制台觀察,如果Qcache_lowmem_prunes的值非常大,則表明經常出現緩衝不夠 的情況;如果Qcache_hits的值非常大,則表明查詢緩衝使用非常頻繁,如果該值較小反而會影響效率,那麼可以考慮不用查詢緩衝;Qcache_free_blocks,如果該值非常大,則表明緩衝區中碎片很多。tmp_table_size = 256M max_connections = 768#指定MySQL允許的最大連接進程數。如果在訪問論壇時經常出現Too Many Connections的錯誤提 示,則需要增大該參數值。max_connect_errors = 1000 wait_timeout = 10#指定一個請求的最大連接時間,對於4GB左右內存的伺服器可以設置為5-10。thread_concurrency = 8#該參數取值為伺服器邏輯CPU數量*2,在本例中,伺服器有2顆物理CPU,而每顆物理CPU又支持H.T超線程,所以實際取值為4*2=8;這個目前也是雙四核主流伺服器配置。skip-networking#開啟該選項可以徹底關閉MySQL的TCP/IP連接方式,如果WEB伺服器是以遠程連接的方式訪問MySQL資料庫伺服器則不要開啟該選項!否則將無法正常連接!table_cache=1024#物理內存越大,設置就越大.默認為2402,調到512-1024最佳innodb_additional_mem_pool_size=4M#默認為2Minnodb_flush_log_at_trx_commit=1#設置為0就是等到innodb_log_buffer_size列隊滿後再統一儲存,默認為1innodb_log_buffer_size=2M#默認為1Minnodb_thread_concurrency=8#你的伺服器CPU有幾個就設置為幾,建議用默認一般為8key_buffer_size=256M#默認為218,調到128最佳tmp_table_size=64M#默認為16M,調到64-256最掛read_buffer_size=4M#默認為64Kread_rnd_buffer_size=16M#默認為256Ksort_buffer_size=32M#默認為256Kthread_cache_size=120#默認為60query_cache_size=32M 另外很多情況需要具體情況具體分析1、如果Key_reads太大,則應該把my.cnf中Key_buffer_size變大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。2、如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。 通過參數設置進行性能優化或多或少可以帶來性能的提升,但效果不一定會很突出。
如何在linux中安裝mysql
我這是centos系統,ubantu不適用!!!
我這是centos系統,ubantu不適用!!!
我這是centos系統,ubantu不適用!!!
點擊右下角展開,否則沒有自動換行!!!!
點擊右下角展開,否則沒有自動換行!!!!
點擊右下角展開,否則沒有自動換行!!!!
重要的事情說三遍
練慣用的話直接yum -y install mysql mysql-server
也可以使用源碼安裝
先把rpm格式的mysql刪除,否則初始化失敗rpm -e mysql-server mysql –nodeps //忽略依賴關係刪除
yum -y install ncurses-devel //安裝依賴包
tar xf cmake-2.8.12.tar.gz -C /usr/src/ //mysql需要cmake支持
cd /usr/src/cmake-2.8.12/ //進入解壓路徑
./configure gmake gmake install //安裝cmake
groupadd mysql //創建mysql組
useradd -M -s /sbin/nologin -g mysql mysql //創建mysql用戶,並加入mysql組裡
tar xf mysql-5.7.2-m12.tar.gz -C /usr/src/ //解壓mysqlcd /usr/src/mysql-5.7.2-m12/ //進入解壓路徑
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc make make install //安裝選項
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //主程序安裝目錄
-DDEFAULT_CHARSET=utf8 //默認字符集為 utf8
-DDEFAULT_COLLATION=utf8_general_ci //默認的字符集校對規則
-DWITH_EXTRA_CHARSETS=all //安裝所有字符集
-DSYSCONFDIR=/etc //配置文件存放目錄
make make install //開始make
優化步驟
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
echo “PATH=$PATH:/usr/local/mysql/bin” /etc/profile
. /etc/profile //注意「.」後面有空格
chown -R mysql:mysql /usr/local/mysql/
/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data –user=mysql //初始化
–basedir=/usr/local/mysql/ //指定安裝目錄(產品目錄)
–datadir=/usr/local/mysql/data //指定數據目錄
–user=mysql //指定用戶身份
service mysqld start
Starting MySQL………….. [確定]
mysqladmin -u root password ‘123456’ //設置成自己的密碼
我是5.7的版本有可能一定幾率啟動時報錯,看下mysql的配置文件,裡面的mysql.sock文件找不到,解決方法如下:
find / -name mysql.sock
找到後複製這個路徑
vim /etc/my.cnf
找到sock=/data/sock這一行,把後面的路徑改成剛才找到的路徑然後重啟mysql即可。
如果還報錯就告訴我
linux下mysql問題
首先你要了解mysql 是命令行方式mysql 查詢解釋器。
真正的mysql 資料庫伺服器程序,其實是mysqld
所以光喲mysqld 是不行的,還需要一些參數,不然運行就會有問題。
如果你的 mysql 是系統自帶的,那麼一般會有一個 /etc/init.d/mysql 的服務。
你可以用服務管理器來設置,或者每次手動啟動
如果你是自己裝的,可能會沒有這個東西,那就需要用命令啟動,具體什麼命令查看網上的資料吧。沒參數印象里可以啟動,但有安全問題。覺得還不懂就上網多搜搜資料吧!
網站訪問量大 怎樣優化mysql資料庫
I 硬體配置優化
CPU選擇:多核的CPU,主頻高的CPU
內存:更大的內存
磁碟選擇:更快的轉速、RAID、陣列卡,
網路環境選擇:盡量部署在區域網、SCI、光纜、千兆網、雙網線提供冗餘、0.0.0.0多埠綁定監聽
II 操作系統級優化
使用64位的操作系統,更好的使用大內存。
設置noatime,nodiratime
[zhangxy@dowload_server1 ~]$ cat /etc/fstab
LABEL=/ / ext3 defaults,noatime,nodiratime 1 1
/dev/sda5 /data xfs defaults,noatime,nodiratime 1 2
優化內核參數
net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_max_syn_backlog=1024
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.neigh.default.gc_thresh3 = 2048
net.ipv4.neigh.default.gc_thresh2 = 1024
net.ipv4.neigh.default.gc_thresh1 = 256
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.tcp_syncookies = 1
net.core.netdev_max_backlog = 2048
net.core.dev_weight = 64
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_orphans = 32768
net.core.optmem_max = 20480
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
net.core.somaxconn = 500
net.ipv4.tcp_orphan_retries = 1
net.ipv4.tcp_max_tw_buckets = 18000
net.ipv4.ip_forward = 0
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.ip_local_port_range = 5000 65000
kernel.shmmax = 167108864
vm.swappiness=0
加大文件描述符限制
Vim /etc/security/limits.conf
加上
* soft nofile 65535
* hard nofile 65535
文件系統選擇 xfs
/dev/sda5 /data xfs defaults,noatime,nodiratime 1 2
III Mysql設計優化
III.1存儲引擎的選擇
Myisam:資料庫並發不大,讀多寫少,而且都能很好的用到索引,sql語句比較簡單的應用,TB數據倉庫
Innodb:並發訪問大,寫操作比較多,有外鍵、事務等需求的應用,系統內存較大。
III.2命名規則
多數開發語言命名規則:比如MyAdress
多數開源思想命名規則:my_address
避免隨便命名
III.3欄位類型選擇
欄位類型的選擇的一般原則:
根據需求選擇合適的欄位類型,在滿足需求的情況下欄位類型儘可能小。
只分配滿足需求的最小字元數,不要太慷慨。
原因:更小的欄位類型更小的字元數佔用更少的內存,佔用更少的磁碟空間,佔用更少的磁碟IO,以及佔用更少的帶寬。
III.3.1 整型:
見如下圖:
類型
位元組
最小值
最大值
(帶符號的/無符號的)
(帶符號的/無符號的)
TINYINT
1
-128
127
255
SMALLINT
2
-32768
32767
65535
MEDIUMINT
3
-8388608
8388607
16777215
INT
4
-2147483648
2147483647
4294967295
BIGINT
8
-9223372036854775808
9223372036854775807
18446744073709551615
根據滿足需求的最小整數為選擇原則,能用INT的就不要用BIGINT。
用無符號INT存儲IP,而非CHAR(15)。
III.3.2 浮點型:
類型
位元組
精度類型
使用場景
FLOAT(M,D)
4
單精度
精度要求不高,數值比較小
DOUBLE(M,D)(REAL)
8
雙精度
精度要求不高,數值比較大
DECIMAL(M,D)(NUMERIC)
M+2
自定義精度
精度要求很高的場景
III.3.3 時間類型
類型
取值範圍
存儲空間
零值表示法
DATE
1000-01-01~9999-12-31
3位元組
0000-00-00
TIME
-838:59:59~838:59:59
3位元組
00:00:00
DATETIME
1000-01-01 00:00:00~9999-12-31 23:59:59
8位元組
0000-00-00 00:00:00
TIMESTAMP
19700101000000~2037年的某個時刻
4位元組
00000000000000
YEAR
YEAR(4):1901~2155 YEAR(2):1970~2069
1位元組
0000
III.3.4 字元類型
類型
最大長度
佔用存儲空間
CHAR[(M)]
M位元組
M位元組
VARCHAR[(M)]
M位元組
M+1位元組
TINYBLOD,TINYTEXT
2^8-1位元組
L+1位元組
BLOB,TEXT
2^16-1位元組
L+2
MEDIUMBLOB,MEDIUMTEXT
2^24-1位元組
L+3
LONGBLOB,LONGTEXT
2^32-1位元組
L+4
ENUM(‘value1′,’value2’,…)
65535個成員
1或2位元組
SET(‘value1′,’value2’,…)
64個成員
1,2,3,4或8位元組
註:L表示可變長度的意思
對於varchar和char的選擇要根據引擎和具體情況的不同來選擇,主要依據如下原則:
1. 如果列數據項的大小一致或者相差不大,則使用char。
2. 如果列數據項的大小差異相當大,則使用varchar。
3. 對於MyISAM表,盡量使用Char,對於那些經常需要修改而容易形成碎片的myisam和isam數據表就更是如此,它的缺點就是佔用磁碟空間。
4. 對於InnoDB表,因為它的數據行內部存儲格式對固定長度的數據行和可變長度的數據行不加區分(所有數據行共用一個表頭部分,這個標頭部分存放著指向各有關數據列的指針),所以使用char類型不見得會比使用varchar類型好。事實上,因為char類型通常要比varchar類型佔用更多的空 間,所以從減少空間佔用量和減少磁碟i/o的角度,使用varchar類型反而更有利。
5. 表中只要存在一個varchar類型的欄位,那麼所有的char欄位都會自動變成varchar類型,因此建議定長和變長的數據分開。
III.4編碼選擇
單位元組 latin1
多位元組 utf8(漢字佔3個位元組,英文字母佔用一個位元組)
如果含有中文字元的話最好都統一採用utf8類型,避免亂碼的情況發生。
III.5主鍵選擇原則
註:這裡說的主鍵設計主要是針對INNODB引擎
1. 能唯一的表示行。
2. 顯式的定義一個數值類型自增欄位的主鍵,這個欄位可以僅用於做主鍵,不做其他用途。
3. MySQL主鍵應該是單列的,以便提高連接和篩選操作的效率。
4. 主鍵欄位類型儘可能小,能用SMALLINT就不用INT,能用INT就不用BIGINT。
5. 盡量保證不對主鍵欄位進行更新修改,防止主鍵欄位發生變化,引發數據存儲碎片,降低IO性能。
6. MySQL主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。
7. MySQL主鍵應當有計算機自動生成。
8. 主鍵欄位放在數據表的第一順序。
推薦採用數值類型做主鍵並採用auto_increment屬性讓其自動增長。
III.6其他需要注意的地方
NULL OR NOT NULL
儘可能設置每個欄位為NOT NULL,除非有特殊的需求,原因如下:
1. 使用含有NULL列做索引的話會佔用更多的磁碟空間,因為索引NULL列需要而外的空間來保存。
2. 進行比較的時候,程序會更複雜。
3. 含有NULL的列比較特殊,SQL難優化,如果是一個組合索引,那麼這個NULL 類型的欄位會極大影響整個索引的效率。
索引
索引的缺點:極大地加速了查詢,減少掃描和鎖定的數據行數。
索引的缺點:佔用磁碟空間,減慢了數據更新速度,增加了磁碟IO。
添加索引有如下原則:
1. 選擇唯一性索引。
2. 為經常需要排序、分組和聯合操作的欄位建立索引。
3. 為常作為查詢條件的欄位建立索引。
4. 限制索引的數據,索引不是越多越好。
5. 盡量使用數據量少的索引,對於大欄位可以考慮前綴索引。
6. 刪除不再使用或者很少使用的索引。
7. 結合核心SQL優先考慮覆蓋索引。
8. 忌用字元串做主鍵。
反範式設計
適當的使用冗餘的反範式設計,以空間換時間有的時候會很高效。
IV Mysql軟體優化
開啟mysql複製,實現讀寫分離、負載均衡,將讀的負載分攤到多個從伺服器上,提高伺服器的處理能力。
使用推薦的GA版本,提升性能
利用分區新功能進行大數據的數據拆分
V Mysql配置優化
注意:全局參數一經設置,隨伺服器啟動預佔用資源。
key_buffer_size參數
mysql索引緩衝,如果是採用myisam的話要重點設置這個參數,根據(key_reads/key_read_requests)判斷
innodb_buffer_pool_size參數
INNODB 數據、索引、日誌緩衝最重要的引擎參數,根據(hit riatos和FILE I/O)判斷
wait_time_out參數
線程連接的超時時間,盡量不要設置很大,推薦10s
max_connections參數
伺服器允許的最大連接數,盡量不要設置太大,因為設置太大的話容易導致內存溢出,需要通過如下公式來確定:
SET @k_bytes = 1024;
SET @m_bytes = @k_bytes * 1024;
SET @g_bytes = @m_bytes * 1024;
SELECT
(
@@key_buffer_size + @@query_cache_size + @@tmp_table_size+
@@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size+
@@innodb_log_buffer_size+
@@max_connections *
( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size+
@@join_buffer_size + @@binlog_cache_size + @@thread_stack
) )
/ @g_bytes AS MAX_MEMORY_USED_GB;
thread_concurrency參數
線程並發利用數量,(cpu+disk)*2,根據(os中顯示的請求隊列和tickets)判斷
sort_buffer_size參數
獲得更快的–ORDER BY,GROUP BY,SELECT DISTINCT,UNION DISTINCT
read_rnd_buffer_size參數
當根據鍵進行分類操作時獲得更快的–ORDER BY
join_buffer_size參數
join連接使用全表掃描連接的緩衝大小,根據select_full_join判斷
read_buffer_size參數
全表掃描時為查詢預留的緩衝大小,根據select_scan判斷
tmp_table_size參數
臨時內存表的設置,如果超過設置就會轉化成磁碟表,根據參數(created_tmp_disk_tables)判斷
innodb_log_file_size參數(默認5M)
記錄INNODB引擎的redo log文件,設置較大的值意味著較長的恢復時間。
Ø innodb_flush_method參數(默認fdatasync)
Linux系統可以使用O_DIRECT處理數據文件,避免OS級別的cache,O_DIRECT模式提高數據文件和日誌文件的IO提交性能
innodb_flush_log_at_trx_commit(默認1)
表示每秒進行一次log寫入cache,並flush log到磁碟。
表示在每次事務提交後執行log寫入cache,並flush log到磁碟。
表示在每次事務提交後,執行log數據寫入到cache,每秒執行一次flush log到磁碟。
VI Mysql語句級優化
1. 性能查的讀語句,在innodb中統計行數,建議另外弄一張統計表,採用myisam,定期做統計.一般的對統計的數據不會要求太精準的情況下適用。
2. 盡量不要在資料庫中做運算。
3. 避免負向查詢和%前綴模糊查詢。
4. 不在索引列做運算或者使用函數。
5. 不要在生產環境程序中使用select * from 的形式查詢數據。只查詢需要使用的列。
6. 查詢儘可能使用limit減少返回的行數,減少數據傳輸時間和帶寬浪費。
7. where子句儘可能對查詢列使用函數,因為對查詢列使用函數用不到索引。
8. 避免隱式類型轉換,例如字元型一定要用』』,數字型一定不要使用』』。
9. 所有的SQL關鍵詞用大寫,養成良好的習慣,避免SQL語句重複編譯造成系統資源的浪費。
10. 聯表查詢的時候,記得把小結果集放在前面,遵循小結果集驅動大結果集的原則。
11. 開啟慢查詢,定期用explain優化慢查詢中的SQL語句。
LINUX下的MYSQL問題
1. 你應該首先明確你對Mysql的要求如何,默認安裝下的版本都比較低,你是否需要高版本的眾多特性,比如升級版本的MySQL介面等。如果你確定對速度和通用性沒有太多要求,就可以省去這一步驟。
2. 在問這樣的問題之前,最好公布以下Linux的發布版本,著名的發布版本大約有350種,這樣無頭的問題讓人無法下手。但是可以告訴你,MySQL的所有設置都可以在MySQL管理器里完成,最簡單的管理器就是命令行。
如果你需要更可視化管理界面,需要從官方下載工具.而且要注意版本的匹配。
如果直接載入客戶,可以在mysql命令行下面
mysql grant select, insert, update
on db_name.table_name
to user@domain
set password=”123456″
在做更改的時候要有足夠的把握,否則出錯就麻煩了。怎麼做到心中有數?去看官方文檔吧。
3. 命令行下面。
# passwd username
關於紅帽子linuxAS5中mysql加固
,1,在linux下的mysql伺服器進行所有訪問的審計這個百度上已經有人詳細介紹過次方法了,具體可以查看
2,對mysqld的啟動項進行加固
–local-infile[={0|1}]
如果用–local-infile=0啟動伺服器,則客戶端不能使用LOCAL in LOAD DATA語句。
–old-passwords
強制伺服器為新密碼生成短(pre-4.1)密碼哈希。當伺服器必須支持舊版本客戶端程序時,為了保證兼容性這很有用。
(OBSOLETE) –safe-show-database
在以前版本的MySQL中,該選項使SHOW DATABASES語句只顯示用戶具有部分許可權的資料庫名。在MySQL 5.1中,該選項不再作為現在的 默認行為使用,有一個SHOW DATABASES許可權可以用來控制每個賬戶對資料庫名的訪問。
–safe-user-create
如果啟用,用戶不能用GRANT語句創建新用戶,除非用戶有mysql.user表的INSERT許可權。如果你想讓用戶具有授權許可權來創建新用戶,你應給用戶授予下面的許可權:
mysql GRANT INSERT(user) ON mysql.user TO 『user_name』@’host_name』;
這樣確保用戶不能直接更改許可權列,必須使用GRANT語句給其它用戶授予該許可權。
–secure-auth
不允許鑒定有舊(pre-4.1)密碼的賬戶。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187177.html