在linux下安裝mysql數(shù)據(jù)庫(kù)并配置的流程比較繁瑣,需要耐心調(diào)試,具體方法和步驟如下:
網(wǎng)站的建設(shè)成都創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為木托盤等企業(yè)提供專業(yè)服務(wù)。
1.查找以前是否安裝有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果顯示有如下包則說(shuō)明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2.如果已安裝,則需要?jiǎng)h除已安裝的數(shù)據(jù)庫(kù),使用以下命令來(lái)刪除數(shù)據(jù)庫(kù)
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
刪除老版本mysql的開發(fā)頭文件和庫(kù)
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql中的數(shù)據(jù)及/etc/my.cnf不會(huì)刪除,如果確定沒(méi)用后就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
3.下載mysql的rpm包
可以通過(guò)wget下載具體的地址因?yàn)椴荒苡面溄诱?qǐng)大家去官網(wǎng)去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服務(wù)器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發(fā)依賴包。
下載后放到Liunx服務(wù)器中。
4.安裝MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝完成后會(huì)生成root用戶的隨機(jī)密碼,請(qǐng)使用“cat /root/.mysql_secret”或類似命令進(jìn)行查看。
5.安裝MySQL客戶端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
6.安裝MySQL開發(fā)依賴包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
7.啟動(dòng)msyql
安裝完成后mysql是沒(méi)有啟動(dòng)的,運(yùn)行mysql命令會(huì)提示如下錯(cuò)誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令啟動(dòng)MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用戶的密碼,參考如下:SET PASSWORD = PASSWORD('root123456');
8.登錄MySQL
使用mysql命令登錄MySQL服務(wù)器,運(yùn)行MySQL的命令時(shí),會(huì)提示需要設(shè)置root用戶密碼。
9.設(shè)置開機(jī)自啟動(dòng)
/etc/init.d/mysql start
設(shè)置完成后重啟系統(tǒng),使用natstat –nat命令可看到MySQL的3306端口。
10.至此已經(jīng)安裝好了mysql數(shù)據(jù)庫(kù),當(dāng)然現(xiàn)在我們的數(shù)據(jù)庫(kù)還不支持遠(yuǎn)程連接,遠(yuǎn)程連接會(huì)出現(xiàn)以下代碼:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通過(guò)以下以下來(lái)解決。
11.改表法:在本機(jī)登入mysql后,更改“mysql”數(shù)據(jù)庫(kù)里的“user”表里的“host”項(xiàng),從”localhost”改為'%'。
mysql
mysqluse mysql;
mysqlselect 'host' from user where user='root
12.到此為止,mysql數(shù)據(jù)庫(kù)在linux中安裝完畢。
是iops吧,每秒的io量。
QPS (Query per second) (每秒查詢量)
TPS(Transaction per second) (每秒事務(wù)量,如果是InnoDB會(huì)顯示,沒(méi)有InnoDB就不會(huì)顯示)
計(jì)算方法
___________________________________________________________
QPS
Questions = SHOW GLOBAL STATUS LIKE 'Questions';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
QPS=Questions/Uptime
TPS
Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';
Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
TPS=(Com_commit + Com_rollback)/Uptime
MySQL中使用show status語(yǔ)句查詢MySQL的性能參數(shù)
語(yǔ)法:
show status like [statement];
常用statement說(shuō)明:
# 查詢連接MySQL服務(wù)器的次數(shù)
# 查詢MySQL服務(wù)器上線的時(shí)間
# 查詢慢查詢的次數(shù)
# 查詢 查詢操作的次數(shù)
查看MySQL服務(wù)器配置信息 :
查看MySQL服務(wù)器運(yùn)行的各種狀態(tài)值 :
慢查詢:
連接數(shù):
key_buffer_size 是對(duì)MyISAM表性能影響最大的一個(gè)參數(shù)
臨時(shí)表:
查看open table :
進(jìn)程使用情況:
查詢緩存(query cache) :
文件打開數(shù)(open_files) :
表鎖情況 :
表掃描情況 :
查詢吞吐量:
連接情況:
分析查詢語(yǔ)句
mysql提供了explain語(yǔ)句和describe語(yǔ)句,進(jìn)行分析查詢語(yǔ)句
EXPLAIN的語(yǔ)法:
說(shuō)明:
示例:
DESCRIBE語(yǔ)句
使用方法與EXPLAIN語(yǔ)句是一樣的,并且分析結(jié)果也是一樣的。
語(yǔ)法:
mysql中提高性能的最有效的方式:
1, 對(duì)數(shù)據(jù)表設(shè)計(jì)合理的索引。索引提供了高效訪問(wèn)數(shù)據(jù)的方法,并且加快了查詢的速度。
使用索引查詢幾種特殊情況:
mysql每秒查詢結(jié)果數(shù)qps怎么得到
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysql show global status like 'Question%';
(2)TPS(每秒事務(wù)量)
TPS = (Com_commit + Com_rollback) / seconds
mysql show global status like 'Com_commit';
mysql show global status like 'Com_rollback';
(3)key Buffer 命中率
mysqlshow global status like 'key%';
key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%
(4)InnoDB Buffer命中率
mysql show status like 'innodb_buffer_pool_read%';
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
(5)Query Cache命中率
mysql show status like 'Qcache%';
Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%;
(6)Table Cache狀態(tài)量
mysql show global status like 'open%';
比較 open_tables 與 opend_tables 值
(7)Thread Cache 命中率
mysql show global status like 'Thread%';
mysql show global status like 'Connections';
Thread_cache_hits = (1 - Threads_created / connections ) * 100%
(8)鎖定狀態(tài)
mysql show global status like '%lock%';
Table_locks_waited/Table_locks_immediate=0.3% 如果這個(gè)比值比較大的話,說(shuō)明表鎖造成的阻塞比較嚴(yán)重
Innodb_row_lock_waits innodb行鎖,太大可能是間隙鎖造成的
(9)復(fù)制延時(shí)量
mysql show slave status
查看延時(shí)時(shí)間