筆記內(nèi)容:
龍城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
13.1 設(shè)置更改root密碼
13.2 連接MySQL
13.3 mysql常用命令
筆記日期:2017-10-30
13.1 設(shè)置更改root密碼
root是mysql的最高權(quán)限用戶,和Linux的root概念一樣。默認(rèn)情況下,mysql的root用戶密碼是空的,可以直接登錄。但是這樣不安全,所以要設(shè)置密碼。
如果mysql命令沒(méi)有加入到PATH中,要先加入進(jìn)去,才能直接使用mysql命令,不然就得使用絕對(duì)路徑,命令如下:
export PATH=$PATH:/usr/local/mysql/bin/
然后再使用mysql -uroot命令,就可以直接登錄mysql了:
想要這個(gè)環(huán)境變量永久生效,就需要配置到profile里:
vim /etc/profile
然后再重新加載此文件:
source /etc/profile
mysql的-p是指定密碼,但是現(xiàn)在還沒(méi)有密碼,所以直接回車(chē)即可:
退出mysql使用exit或者quit。
設(shè)置密碼使用如下命令:
mysqladmin -uroot password '123456'
設(shè)置完密碼之后,就不能直接使用mysql -uroot登錄了:
那我們就使用mysql -uroot -p命令來(lái)指定密碼:
以下這種更改root密碼的方式需要知道原本的密碼才能進(jìn)行更改,不然無(wú)法更改,也是使用mysqladmin命令進(jìn)行更改,如下示例:
現(xiàn)在就需要使用更改后的密碼來(lái)登錄mysql了:
如果你不知道root的密碼,或者忘記了,還有另一種方式可以重置密碼,首先編輯my.cnf配置文件在[mysqld]下加入如下內(nèi)容:
這一句是用來(lái)跳過(guò)密碼,忽略密碼的
修改完之后,重新啟動(dòng)服務(wù):
service mysqld restart
重啟之后直接使用mysql -uroot就可以直接登錄了:
登錄進(jìn)去之后,我們需要通過(guò)一個(gè)表來(lái)更改密碼,首先使用use mysql; 選擇mysql庫(kù):
然后使用desc user; 可以查看user表的表結(jié)構(gòu),在表結(jié)構(gòu)中可以看到User和Password的字段:
我們現(xiàn)在要修改的就是Password這個(gè)字段,sql語(yǔ)句如下:
update user set password=password('12345') where user='root';
修改完后,退出mysql,然后將my.cnf的那個(gè)跳過(guò)密碼那一句給注釋掉:
vim /etc/my.cnf
然后重啟mysql,這時(shí)登錄就需要使用你更改后的密碼了:
13.2 連接mysql
介紹一下幾種常用的連接mysql的命令:
mysql -uroot -p12345
這個(gè)命令,是較為常用的,連接本機(jī)的mysql命令,剛才也使用到了這個(gè)命令來(lái)連接mysql,在這就不贅述了。
mysql -uroot -p12345 -h227.0.0.1 -P3306
這個(gè)命令是連接遠(yuǎn)程的mysql,例如A機(jī)器要連接B機(jī)器的mysql,就需要使用這個(gè)命令,示例:
mysql -uroot -p12345 -S/tmp/mysql.sock
這個(gè)命令是通過(guò)sock來(lái)進(jìn)行連接mysql,在Linux/Unix操作系統(tǒng)中有一種通信方式使用的就是sock,但是這種方式僅能用于本機(jī),所以實(shí)際上和第一種命令是一樣的:
mysql -uroot -p12345 -e “show databases”
這個(gè)命令是通過(guò)-e選項(xiàng)在登錄時(shí)執(zhí)行一條sql語(yǔ)句,這條sql語(yǔ)句是用來(lái)列出mysql中所有的數(shù)據(jù)庫(kù)的,這種情況一般使用在shell腳本里:
13.3 mysql常用命令
mysql的命令需要登錄進(jìn)mysql才能進(jìn)行執(zhí)行,所以在這之前才要介紹如何去連接mysql,既然知道如何連接mysql后就開(kāi)始使用一下mysql的常用命令吧:
查詢庫(kù) show databases;這個(gè)命令剛才也用到過(guò):
切換庫(kù) use mysql; 這條命令是切換到了mysql庫(kù)下:
查看庫(kù)里所有的表 show tables;
查看表里的字段 desc tb_name; 庫(kù)包含著表,而表包含著字段:
查看建表語(yǔ)句 show create table tb_name\G; 如果不加G會(huì)顯示得很亂:
查看當(dāng)前用戶 select user(); 這個(gè)user()是一個(gè)函數(shù):
如果你用的是遠(yuǎn)程登錄,那么這里顯示的是root@主機(jī)名,本地登錄才會(huì)顯示root@localhost
在root目錄下的.mysql_history文件里記錄著mysql的命令歷史:
查看當(dāng)前使用的數(shù)據(jù)庫(kù) select database();
現(xiàn)在沒(méi)有選擇數(shù)據(jù)庫(kù),所以顯示null,要選擇一個(gè)數(shù)據(jù)庫(kù),才會(huì)顯示當(dāng)前數(shù)據(jù)庫(kù)的名稱:
創(chuàng)建庫(kù) create database db1;
創(chuàng)建表 use db1; create table t1(`id` int(4), `name` char(40));
這時(shí)我們使用show create table t1\G;語(yǔ)句就可以看到這個(gè)表的創(chuàng)建語(yǔ)句,末尾跟的是默認(rèn)的引擎和默認(rèn)的字符集:
如果不想使用這個(gè)默認(rèn)的字符集,可以在創(chuàng)建表的時(shí)候指定其他的字符集,示例:
查看當(dāng)前數(shù)據(jù)庫(kù)版本 select version();
查看數(shù)據(jù)庫(kù)狀態(tài) show status;
查看各參數(shù) show variables; 會(huì)列出很多內(nèi)容:
查看具體的參數(shù),例如我要查看max_connect_errors參數(shù):
show variables like 'max_connect_errors';
如果想要查看某個(gè)參數(shù),但是不記得完整的名稱了,可以使用模糊查詢:
show variables like 'max_connect%';
修改參數(shù) set global max_connect_errors=1000;
需要永久生效需要去my.cnf里修改
查看隊(duì)列 show processlist; 查看隊(duì)列相當(dāng)于在Linux使用ps或者top命令查看系統(tǒng)狀況一樣:
查看完整的隊(duì)列show full processlist;
擴(kuò)展
mysql5.7 root密碼更改
http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎對(duì)比
http://www.pureweber.com/article/myisam-vs-innodb/
mysql 配置詳解:
http://blog.linuxeye.com/379.html
mysql調(diào)優(yōu):
http://www.aminglinux.com/bbs/thread-5758-1-1.html
同學(xué)分享的親身mysql調(diào)優(yōu)經(jīng)歷:
http://www.apelearn.com/bbs/thread-11281-1-1.html