Linux下修改mysql的root密碼后數(shù)據(jù)庫(kù)消失怎么處理
有些人直接修改了mysql的root密碼,于是產(chǎn)生了mysql數(shù)據(jù)庫(kù)消失的問題,怎么回事呢?原來(lái)我們不可以直接修改root密碼,而是要通過password()函數(shù)修改。這個(gè)時(shí)候該怎么處理呢?
Linux下修改mysql的root密碼后數(shù)據(jù)庫(kù)消失怎么處理?
可以用下面的辦法解決:
1、修改mysql數(shù)據(jù)庫(kù)目錄配置文件:my.cnf(或my.ini)
[mysqld]下添加:
skip-grant-tables
2、重啟mysql服務(wù),然后用mysql 登錄。
3、進(jìn)入后,可以看到,mysql數(shù)據(jù)庫(kù)已呈現(xiàn),然后修改密碼:
update user set password=password(’root‘) where user=’root‘;
flush privileges;
4、退出mysql,修改配置文件my.cnf 把剛才的skip-grant-tables注釋掉。
5、重啟mysql服務(wù),然后就可以用用戶名,密碼登錄。
補(bǔ)充:MySQL 數(shù)據(jù)庫(kù)常用命令
create database name; 創(chuàng)建數(shù)據(jù)庫(kù)
use databasename; 進(jìn)入數(shù)據(jù)庫(kù)
drop database name 直接刪除數(shù)據(jù)庫(kù),不提醒
show tables; 顯示表
describe tablename; 查看表的結(jié)構(gòu)
select 中加上distinct去除重復(fù)字段
mysqladmin drop databasename 刪除數(shù)據(jù)庫(kù)前,有提示。
顯示當(dāng)前mysql版本和當(dāng)前日期
select version(),current_date;
數(shù)據(jù)庫(kù)維護(hù)方法
在MySQL使用的過程中,在系統(tǒng)運(yùn)行一段時(shí)間后,可能會(huì)產(chǎn)生碎片,造成空間的浪費(fèi),所以有必要定期的對(duì)MySQL進(jìn)行碎片整理。
當(dāng)刪除id=2的記錄時(shí)候,發(fā)生的現(xiàn)象
這個(gè)時(shí)候發(fā)現(xiàn)磁盤的空間并沒有減少。這種現(xiàn)象就叫做碎片化(有一部分的磁盤空間在數(shù)據(jù)刪除以后(空),還是無(wú)法被操作系統(tǒng)所使用。)
常見的優(yōu)化:
# alter table xxx engine myisam;
# optimize table t1;
注意: 在實(shí)際開發(fā)的過程中,上面兩個(gè)語(yǔ)句盡量少使用,因?yàn)樵谑褂玫倪^程中,MySQL的表的結(jié)構(gòu)會(huì)整體全部重新整理,需要消耗很多的資源,建議在凌晨?jī)扇c(diǎn)鐘的時(shí)候執(zhí)行。(在linux下有定時(shí)器腳本可以執(zhí)行,crontab)
數(shù)據(jù)庫(kù)密碼相關(guān)文章:
2.如何將excel數(shù)據(jù)導(dǎo)入sql的方法