最近在忘記mysql密碼時(shí)需要修改原root密碼:
遇到下面幾個(gè)問(wèn)題:
1烦磁、 mysqld: command not found
首先得知道m(xù)ysql命令或mysqladmin命令的完整路徑岗喉,
特殊安裝的話(huà)需要在mysql運(yùn)行時(shí)輸入查找安裝目錄ps -ef|grep mysql
比如mysql的路徑是:/usr/local/mysql/bin/mysql,
我們則可以這樣執(zhí)行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
遇到其他command not found 的報(bào)錯(cuò)芍秆,處理流程如此惯疙;
2、 確定mysql服務(wù)正常運(yùn)行后妖啥,產(chǎn)生此錯(cuò)誤的原因只剩下“socket”文件路徑不正確了霉颠,我們可以使用“find”命令或者“l(fā)sof”命令來(lái)確定socket文件的正確路徑:
查看socket文件路徑:lsof -c mysqld|grep sock$
使用“l(fā)n -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock”命令,將正確的socket文件位置荆虱,軟鏈接到提示錯(cuò)誤的socket文件路徑位置蒿偎,即可解決此問(wèn)題:
MySQL密碼的恢復(fù)方法之一
1.首先確認(rèn)服務(wù)器出于安全的狀態(tài),也就是沒(méi)有人能夠任意地連接MySQL數(shù)據(jù)庫(kù)怀读。 因?yàn)樵谥匦略O(shè)置MySQL的root密碼的期間诉位,MySQL數(shù)據(jù)庫(kù)完全出于沒(méi)有密碼保護(hù)的 狀態(tài)下,其他的用戶(hù)也可以任意地登錄和修改MySQL的信息菜枷〔淮樱可以采用將MySQL對(duì)外的端口封閉,并且停止Apache以及所有的用戶(hù)進(jìn)程的方法實(shí)現(xiàn)服務(wù)器的準(zhǔn)安全狀態(tài)犁跪。最安全的狀態(tài)是到服務(wù)器的Console上面操作椿息,并且拔掉網(wǎng)線。
2.修改MySQL的登錄設(shè)置:
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi坷衍。
3.重新啟動(dòng)mysqld
/etc/init.d/mysqld restart ( service mysqld restart )
4.登錄并修改MySQL的root密碼
mysql> USE mysql ; mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; mysql> flush privileges ; mysql> quit
5.將MySQL的登錄設(shè)置修改回來(lái)
vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
保存并且退出vi寝优。
6.重新啟動(dòng)mysqld
/etc/init.d/mysqld restart ( service mysqld restart )
7.恢復(fù)服務(wù)器的正常工作狀態(tài)
將步驟一中的操作逆向操作》愣恢復(fù)服務(wù)器的工作狀態(tài)乏矾。
MySQL密碼的恢復(fù)方法之二
如果忘記了MySQL的root密碼,可以用以下方法重新設(shè)置:
KILL掉系統(tǒng)里的MySQL進(jìn)程迁杨;
killall -TERM mysqld用以下命令啟動(dòng)MySQL钻心,以不檢查權(quán)限的方式啟動(dòng);
safe_mysqld --skip-grant-tables &然后用空密碼方式使用root用戶(hù)登錄 MySQL铅协;
mysql -u root修改root用戶(hù)的密碼捷沸;
mysql> update mysql.user set password=PASSWORD('新密碼') where User='root'; mysql> flush privileges; mysql> quit
重新啟動(dòng)MySQL,就可以使用新密碼登錄了
MySQL密碼的恢復(fù)方法三
有可能你的系統(tǒng)沒(méi)有 safe_mysqld 程序(比如我現(xiàn)在用的 ubuntu操作系統(tǒng), apt-get安裝的mysql) , 下面方法可以恢復(fù)
- 停止mysqld狐史;
/etc/init.d/mysql stop
(您可能有其它的方法,總之停止mysqld的運(yùn)行就可以了)
用以下命令啟動(dòng)MySQL痒给,以不檢查權(quán)限的方式啟動(dòng)说墨;
mysqld --skip-grant-tables &然后用空密碼方式使用root用戶(hù)登錄 MySQL;
mysql -u root修改root用戶(hù)的密碼苍柏;
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root'; mysql> flush privileges; mysql> quit
重新啟動(dòng)MySQL
/etc/init.d/mysql restart
就可以使用新密碼 newpassword 登錄了尼斧。
2查看centos版本
前言
記下CentOS 7查看系統(tǒng)版本及查看機(jī)器位數(shù)x86-64的方法,由于不經(jīng)常使用Linux试吁,每當(dāng)使用的時(shí)候就是安裝軟件棺棵,安裝軟件的時(shí)候就要選擇安裝包平臺(tái),是32位的還是64位的熄捍。這時(shí)候突然發(fā)現(xiàn)不知道怎么查烛恤,于是百度。雖然輕而易舉百度出來(lái)治唤,但仍舊沒(méi)有自己的筆記看起來(lái)舒服棒动。所以糙申,還是記錄下來(lái)宾添。
辨識(shí)標(biāo)準(zhǔn)
首先要清楚什么樣標(biāo)識(shí)是32位的,什么樣的是64位的柜裸。
PC server X86 系列
I386--I686 都是32位
x86_64 是 64位
查看位數(shù)命令
命令實(shí)在是不要太多缕陕,為了防止選擇性障礙,一致選擇第一種方式疙挺,后面的僅作為補(bǔ)充扛邑。方法1:
[root@linuxidc ~]# uname -aLinux linuxidc 3.10.0-327.18.2.el7.x86_64 #1 SMP Thu May 12 11:03:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
方法2:顯示系統(tǒng)程序信息
[root@linuxidc ~]# file /bin/ls/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
方法3:
[root@linuxidc ~]# cat /proc/versionLinux version 3.10.0-327.18.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu May 12 11:03:55 UTC 2016
方法4:
(32位的系統(tǒng)中int類(lèi)型和long類(lèi)型一般都是4字節(jié),64位的系統(tǒng)中int類(lèi)型還是4字節(jié)的铐然,但是long已變成了8字節(jié)inux系統(tǒng)中可用"getconf WORD_BIT"和"getconf LONG_BIT"獲得word和long的位數(shù)蔬崩。64位系統(tǒng)中應(yīng)該分別得到32和64。)
[root@linuxidc ~]# getconf LONG_BIT64
查看系統(tǒng)版本
方法1:
[root@linuxidc ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.2.1511 (Core) Release: 7.2.1511Codename: Core
方法2:
[root@linuxidc ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel Fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https://www.centos.org/"BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"RedHat_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"
方法3:
[root@linuxidc ~]# cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core)
方法4:
[root@linuxidc ~]# rpm -q centos-releasecentos-release-7-2.1511.el7.centos.2.10.x86_64
查看內(nèi)核版本
方法1:
[root@linuxidc ~]# cat /proc/versionLinux version 3.10.0-327.18.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu May 12 11:03:55 UTC 2016
方法2:
[root@linuxidc ~]# uname -aLinux linuxidc 3.10.0-327.18.2.el7.x86_64 #1 SMP Thu May 12 11:03:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
3:yum安裝提示錯(cuò)誤:Cannot find a valid baseurl for repo: base/7/x86_6
獲取不到遠(yuǎn)程地址搀暑,一般是聯(lián)網(wǎng)性能太差沥阳,建議更換網(wǎng)絡(luò)隔节,或者是ping試試能不能連上網(wǎng):
方法一漱牵、
1、打開(kāi) vi /etc/sysconfig/network-scripts/ifcfg-eth0(每個(gè)機(jī)子都可能不一樣晌杰,但格式會(huì)是“ifcfg-eth數(shù)字”)桂敛,把ONBOOT=no功炮,改為ONBOOT=yes
2、重啟網(wǎng)絡(luò):service network restart
方法二术唬、
1薪伏、打開(kāi) vi /etc/resolv.conf,增加 nameserver 8.8.8.8
2粗仓、重啟網(wǎng)絡(luò): service network restart
4:加入-R 參數(shù)讀寫(xiě)權(quán)限傳遞給文件夾
例chmod -R 777 /home/mypackage
mypackage 文件夾面所文件夾屬性都變777.
777讀毅该、寫(xiě)博秫、執(zhí)行權(quán)限...
5:查找文件地址:
find命令基本格式:find path expression
1.按照文件名查找
(1)find / -name httpd.conf #在根目錄下查找文件httpd.conf,表示在整個(gè)硬盤(pán)查找
(2)find /etc -name httpd.conf #在/etc目錄下文件httpd.conf
(3)find /etc -name 'srm' #使用通配符(0或者任意多個(gè))眶掌。表示在/etc目錄下查找文件名中含有字符串‘srm’的文件
(4)find . -name 'srm' #表示當(dāng)前目錄下查找文件名開(kāi)頭是字符串‘srm’的文件
2.按照文件特征查找
(1)find / -amin -10 # 查找在系統(tǒng)中最后10分鐘訪問(wèn)的文件(access time)
(2)find / -atime -2 # 查找在系統(tǒng)中最后48小時(shí)訪問(wèn)的文件
(3)find / -empty # 查找在系統(tǒng)中為空的文件或者文件夾
(4)find / -group cat # 查找在系統(tǒng)中屬于 group為cat的文件
(5)find / -mmin -5 # 查找在系統(tǒng)中最后5分鐘里修改過(guò)的文件(modify time)
(6)find / -mtime -1 #查找在系統(tǒng)中最后24小時(shí)里修改過(guò)的文件
(7)find / -user fred #查找在系統(tǒng)中屬于fred這個(gè)用戶(hù)的文件
(8)find / -size +10000c #查找出大于10000000字節(jié)的文件(c:字節(jié)挡育,w:雙字,k:KB朴爬,M:MB即寒,G:GB)
(9)find / -size -1000k #查找出小于1000KB的文件
3.使用混合查找方式查找文件
參數(shù)有: !召噩,-and(-a)母赵,-or(-o)。
(1)find /tmp -size +10000c -and -mtime +2 #在/tmp目錄下查找大于10000字節(jié)并在最后2分鐘內(nèi)修改的文件
(2)find / -user fred -or -user george #在/目錄下查找用戶(hù)是fred或者george的文件文件
(3)find /tmp ! -user panda #在/tmp目錄中查找所有不屬于panda用戶(hù)的文件
(二)具滴、grep命令
基本格式:find expression
1.主要參數(shù)[options]主要參數(shù):
“汲啊-c:只輸出匹配行的計(jì)數(shù)。
」乖稀-i:不區(qū)分大小寫(xiě)
≈懿洹-h(huán):查詢(xún)多文件時(shí)不顯示文件名。
∑;帧-l:查詢(xún)多文件時(shí)只輸出包含匹配字符的文件名凶朗。
-n:顯示匹配行及行號(hào)显拳。
∨锓摺-s:不顯示不存在或無(wú)匹配文本的錯(cuò)誤信息。
≡邮-v:顯示不包含匹配文本的所有行宛畦。
pattern正則表達(dá)式主要參數(shù):
\: 忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開(kāi)始行揍移。
$: 匹配正則表達(dá)式的結(jié)束行次和。
<:從匹配正則表達(dá) 式的行開(kāi)始。
>:到匹配正則表達(dá)式的行結(jié)束羊精。
[ ]:?jiǎn)蝹€(gè)字符斯够,如[A]即A符合要求 。
[ - ]:范圍喧锦,如[A-Z]读规,即A、B燃少、C一直到Z都符合要求 束亏。
.:所有的單個(gè)字符。
* :有字符阵具,長(zhǎng)度可以為0碍遍。
2.實(shí)例
(1)grep 'test' d* #顯示所有以d開(kāi)頭的文件中包含 test的行
(2)grep ‘test’ aa bb cc #顯示在aa定铜,bb,cc文件中包含test的行
(3)grep ‘[a-z]{5}’ aa #顯示所有包含每行字符串至少有5個(gè)連續(xù)小寫(xiě)字符的字符串的行
(4)grep magic /usr/src #顯示/usr/src目錄下的文件(不含子目錄)包含magic的行
(5)grep -r magic /usr/src #顯示/usr/src目錄下的文件(包含子目錄)包含magic的行
(6)grep -w pattern files :只匹配整個(gè)單詞怕敬,而不是字符串的一部分(如匹配’magic’揣炕,而不是’magical’),