關於linux中對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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 13:36
下一篇 2024-11-27 13:36

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python實現身份信息模擬生成與查驗

    本文將從以下幾個方面對Python實現身份信息模擬生成與查驗進行詳細闡述: 一、身份信息生成 身份信息生成是指通過代碼生成符合身份信息規範的虛假數據。Python中,我們可以使用f…

    編程 2025-04-27

發表回復

登錄後才能評論