工具/原料
在連江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),連江網(wǎng)站建設(shè)費(fèi)用合理。
已經(jīng)安裝了mysql數(shù)據(jù)庫(kù)的windows
操作系統(tǒng)
筆者安裝的mysql版本為5.6,即mysql
5.6
方法/步驟
首先,需要關(guān)閉mysql
server服務(wù)。在“運(yùn)行”窗口,輸入“services.msc”,進(jìn)入“服務(wù)”窗口。
在服務(wù)窗口,可以找到“mysql56”,選定,將其“停止”即可。
這樣,mysql
server服務(wù)就停止了。
需要說(shuō)明的是,這里的“mysql56”受版本限制。舉例來(lái)說(shuō),如果你的mysql的版本是5.1,那么此時(shí)就是就是“mysql51”。
當(dāng)然,也可以在命令行窗口使用“net
stop
mysql56”來(lái)停止服務(wù)。
接著,需要使用到mysql的安裝位置。如果忘記了,可以在“開始”按鈕(windows鍵)找到安裝“mysql”文件夾,打開并選擇“mysql
server
5.6”文件夾,會(huì)看到兩個(gè)mysql
commond
打開的快捷方式。選擇其中的一個(gè)查看其屬性,就可以找到mysql的安裝位置。
可以看到我們的mysql位置在“d:\program
files\mysql”
其實(shí),我們之所以想知道m(xù)ysql的安裝位置,是為了獲取其下的.ini文件的位置。該文件記錄了mysql的配置信息。如果我們想跳過(guò)登錄權(quán)限,就必須獲取該文件的位置。
需要注意的是,不同版本的.ini文件的名稱不同,在mysql
5.1時(shí),它是my.ini,而在mysql
5.6則是my-default.ini。
接著,打開命令行窗口,輸入如下的命令:
c:\users\wangmysqld
--defaults-file="d:\program
files\mysql\mysql
server
5.6\my-default.ini"
--console
--skip-grant-tables
需要說(shuō)明的是,此時(shí)該窗口不可再寫入。這也是檢驗(yàn)命令是否正確執(zhí)行的一個(gè)標(biāo)準(zhǔn)。
另外打開一個(gè)命令行窗口,輸入命令:mysql
-u
root
-p,回車即可進(jìn)入mysql命令行界面。
7
接下來(lái),只需要修改系統(tǒng)數(shù)據(jù)庫(kù),將密碼進(jìn)行更新即可。
需要使用到的命令是:
mysql-show
database;
mysql-use
mysql
mysql-update
user
set
password=password('12345')
where
user='root';
這樣,就將新密碼設(shè)為了12345。
一、無(wú)法訪問(wèn)系統(tǒng)資源
MySQL 不能訪問(wèn)啟動(dòng)需要的資源是造成而 MySQL 無(wú)法啟動(dòng)的一個(gè)常見原因,如:文件,端口等。由于 linux 中用于啟動(dòng) mysqld 進(jìn)程的 mysql 用戶通常是不能登陸的,可以使用類似下面的命令檢查文件的訪問(wèn)權(quán)限。
sudo -u mysql touch /var/lib/mysql/b
找出問(wèn)題后,修改對(duì)應(yīng)文件或目錄的權(quán)限或?qū)僦骱笸ǔ?梢越鉀Q問(wèn)題。但有時(shí) mysql 用戶有訪問(wèn)文件和目錄的權(quán)限,但仍然會(huì)被拒絕訪問(wèn),例如下面這個(gè)例子:
mysql system sudo -u mysql touch /home/mysql/data/a
mysql create table t1 (
id int primary key,n varchar(10
) data directory
ERROR 1030 (HY000): Got error 168 from storage engine
測(cè)試說(shuō)明 mysql 用戶有這個(gè)目錄的訪問(wèn)權(quán)限,但創(chuàng)建文件還是失敗,這種情況讓很多人困惑,這個(gè)時(shí)候通常是 mysqld 進(jìn)程的訪問(wèn)被 linux 的 selinux 或 apparmor 給阻止了,大家可以看到創(chuàng)建的表不是在 mysql 的默認(rèn)目錄下面,因此 selinux 或 apparmor 的 policy 里面沒(méi)有包含這個(gè)目錄的訪問(wèn)權(quán)限,此時(shí)只要對(duì)應(yīng)的修改 policy 就行了,當(dāng)然把 selinux 或 apparmor 停了也行。
有時(shí)雖然對(duì)系統(tǒng)資源有訪問(wèn)的權(quán)限,但系統(tǒng)資源已經(jīng)被占用:
mysqld --no-defaults --console --user mysql
2020-11-03T03:36:07.519419Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.19) starting as process 21171
2020-11-03T03:36:07.740347Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
這個(gè)故障產(chǎn)生的原因是另外一個(gè) mysqld 進(jìn)程已經(jīng)啟動(dòng)并占用了對(duì)應(yīng)的文件。
二、參數(shù)設(shè)置錯(cuò)誤
參數(shù)設(shè)置錯(cuò)誤造成 MySQL 無(wú)法啟動(dòng)的原因也非常常見,此時(shí)先要檢查 MySQL 啟動(dòng)時(shí)會(huì)調(diào)用的參數(shù),下面的命令可以查詢 MySQL 啟動(dòng)時(shí)調(diào)用參數(shù)文件的順序:
$ mysqld --verbose --help | grep "Default options " -A 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
知道了 MySQL 參數(shù)文件的調(diào)用順序,我們就可以檢查對(duì)應(yīng)的參數(shù)文件,找出其中的錯(cuò)誤,如果覺(jué)得參數(shù)文件的可讀性不強(qiáng),可以使用下面的命令顯示 mysqld 程序?qū)⒁{(diào)用的參數(shù):
$ mysqld --print-defaults
/usr/sbin/mysqld would have been started with the following arguments:
......
注意這個(gè)命令顯示完參數(shù)后就退出,不會(huì)真正運(yùn)行 mysqld。這個(gè)命令和 my_print_defaults mysqld 完全是等價(jià)的,只不過(guò)后者的顯示方式是一行一個(gè)參數(shù)。
然后開始對(duì)可疑的參數(shù)進(jìn)行調(diào)試,我個(gè)人喜歡加的參數(shù)和順序如下:
1. 在 mysqld 后加上第一個(gè)參數(shù) --no-defaults ,這個(gè)參數(shù)的作用是通知 mysqld 在啟動(dòng)的時(shí)候不要讀任何參數(shù)文件;
2. 第二個(gè)參數(shù)是 --console,這個(gè)參數(shù)會(huì)把錯(cuò)誤信息輸出到屏幕上,這個(gè)參數(shù)帶來(lái)的一個(gè)弊端是所有的信息都輸出到屏幕上,讓屏幕顯得比較亂,但對(duì)于我們調(diào)試卻是很方便的;
3. 第三個(gè)參數(shù)是 --log-error-verbosity=3,這個(gè)參數(shù)會(huì)顯示詳細(xì)的日志;
4. 然后再在后面加上有把握的參數(shù),可以一次只加一個(gè)參數(shù),然后啟動(dòng) mysqld,采用排除法逐步找出錯(cuò)誤的參數(shù)。
現(xiàn)象:mysql安裝后通過(guò) service mysqld start 無(wú)法啟動(dòng)。
報(bào)錯(cuò)信息如下:
主要含義是說(shuō):
mysql啟動(dòng)過(guò)程中找不到 /var/lib/mysql/aria_log_control 這個(gè)文件;
或者這個(gè)文件存在但是打不開。
所以我懷疑的方向有兩個(gè):
1、 /var/lib/mysql/aria_log_control 這個(gè)文件不存在;
切換到/var/lib/mysql目錄下,查看文件是否存在:
可以看到文件是存在的,只是這個(gè)文件的屬主不對(duì),這里是root,應(yīng)該是mysql用戶和用戶組才對(duì)。
2、所以應(yīng)該是第二個(gè)懷疑的方向,文件存在,但是沒(méi)有權(quán)限操作:
把該文件的屬主改為mysql:
chown -R mysql.mysql /var/lib/mysql
并修改文件的操作權(quán)限:
chmod 755 /var/lib/mysql
再執(zhí)行 service mysqld start 就可以正常啟動(dòng)了。
文章題目:我的mysql怎么打不開 mysql 打不開
路徑分享:http://jinyejixie.com/article30/dosggso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信公眾號(hào)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版、面包屑導(dǎo)航、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容