Linux mysql如何更改root密碼用什么命令
不僅是操作系統(tǒng),數(shù)據(jù)庫(kù)mysql也有root密碼,給我們數(shù)據(jù)庫(kù)一層安全保護(hù),那么在Linux系統(tǒng)中,mysql要如何修改root密碼呢?特別是忘記了root密碼要怎么辦?
Linux mysql如何更改root密碼
通過登錄mysql系統(tǒng):
代碼如下
# mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql》use mysql;
mysql》 update user set password=passworD(“test”) where user=’root’;
mysql》 flush privileges;
mysql》 exit;
在mysql系統(tǒng)外,使用mysqladmin:
代碼如下
# mysqladmin -u root -p password “test123″
Enter password: 【輸入原來的密碼】
忘記原來的myql的root的密碼:
首先,你必須要有操作系統(tǒng)的root權(quán)限了。要是連系統(tǒng)的root權(quán)限都沒有的話,先考慮root系統(tǒng)再走下面的步驟。
類似于安全模式登錄系統(tǒng),有人建議說是pkill mysql,但是我不建議哈。因?yàn)楫?dāng)你執(zhí)行了這個(gè)命令后,會(huì)導(dǎo)致這樣的狀況:
代碼如下
/etc/init.d/mysqld status
mysqld dead but subsys locked
這樣即使你是在安全模式下啟動(dòng)mysql都未必會(huì)有用的,所以一般是這樣/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
代碼如下
# mysqld_safe –skip-grant-tables &
&,表示在后臺(tái)運(yùn)行,不再后臺(tái)運(yùn)行的話,就再打開一個(gè)終端咯。
代碼如下
# mysql
mysql》 use mysql;
mysql》 UPDATE user SET password=password(“test123“) WHERE user=’root‘;
mysql》 flush privileges;
mysql》 exit;
##本來mysql是不分大小寫的,但是這個(gè)是修改的mysql中的mysql數(shù)據(jù)庫(kù)的具體的值,要注意到。
補(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ù)刪除以后(空),還是無法被操作系統(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)
MySQL密碼相關(guān)文章: