學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識 > 網(wǎng)絡(luò)技術(shù) >

在Linux下訪問不了MySQL數(shù)據(jù)庫怎么回事

時(shí)間: 加城1195 分享

  MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。在Linux系統(tǒng)下無法訪問mysql,這是怎么回事呢?Linux系統(tǒng)下無法訪問mysql該怎么辦呢?下面我們一起來看看解決方法。

  Linux系統(tǒng)下無法訪問mysql怎么辦?

  1、問題及異常

  ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!! Complete Status:

  Managed Threads: 3

  Active Threads: 3

  Active Tasks:

  2、查找原因

  費(fèi)勁周知,確定是MySQL權(quán)限的問題

  3、解決過程

  1》 mysql -uroot -proot mydbName

  2》 grant all privileges on *.* to wangs@‘%’ identified by ‘123456’;

  3》 flush privileges;

  4》 exit;

  5》 /etc/init.d/mysql restart

  4、命令的說明

  進(jìn)入 mysql ,用戶為 root,密碼為 root,數(shù)據(jù)庫為 mydbName,-u 意為用戶,-p 意為密碼,

  增加用戶 wangs,所有權(quán)限,數(shù)據(jù)庫為 *,后面的 .* 不可少,% 代表對所有遠(yuǎn)程的 IP 地址,如果要限定 IP 地址的話,單獨(dú)寫上 IP 地址,

  密碼是 123456,注意引號 ‘ 不可少,用來表示是字符串。

  以上命令和過程均不可省略。

  補(bǔ)充:MySQL 數(shù)據(jù)庫常用命令

  create database name; 創(chuàng)建數(shù)據(jù)庫

  use databasename; 進(jìn)入數(shù)據(jù)庫

  drop database name 直接刪除數(shù)據(jù)庫,不提醒

  show tables; 顯示表

  describe tablename; 查看表的結(jié)構(gòu)

  select 中加上distinct去除重復(fù)字段

  mysqladmin drop databasename 刪除數(shù)據(jù)庫前,有提示。

  顯示當(dāng)前mysql版本和當(dāng)前日期

  select version(),current_date;

  數(shù)據(jù)庫維護(hù)方法

  在MySQL使用的過程中,在系統(tǒng)運(yùn)行一段時(shí)間后,可能會(huì)產(chǎn)生碎片,造成空間的浪費(fèi),所以有必要定期的對MySQL進(jìn)行碎片整理。

  當(dāng)刪除id=2的記錄時(shí)候,發(fā)生的現(xiàn)象

  這個(gè)時(shí)候發(fā)現(xiàn)磁盤的空間并沒有減少。這種現(xiàn)象就叫做碎片化(有一部分的磁盤空間在數(shù)據(jù)刪除以后(空),還是無法被操作系統(tǒng)所使用。)

  常見的優(yōu)化:

  # alter table xxx engine myisam;

  # optimize table t1;

  注意: 在實(shí)際開發(fā)的過程中,上面兩個(gè)語句盡量少使用,因?yàn)樵谑褂玫倪^程中,MySQL的表的結(jié)構(gòu)會(huì)整體全部重新整理,需要消耗很多的資源,建議在凌晨兩三點(diǎn)鐘的時(shí)候執(zhí)行。(在linux下有定時(shí)器腳本可以執(zhí)行,crontab)


4015225