您好,登錄后才能下訂單哦!
筆記內(nèi)容:
13.1 設(shè)置更改root密碼
13.2 連接mysql
13.3 mysql常用命令
筆記日期:2017-10-30
13.1 設(shè)置更改root密碼
root是mysql的最高權(quán)限用戶,和Linux的root概念一樣。默認情況下,mysql的root用戶密碼是空的,可以直接登錄。但是這樣不安全,所以要設(shè)置密碼。
如果mysql命令沒有加入到PATH中,要先加入進去,才能直接使用mysql命令,不然就得使用絕對路徑,命令如下:
export PATH=$PATH:/usr/local/mysql/bin/
然后再使用mysql -uroot命令,就可以直接登錄mysql了:
想要這個環(huán)境變量永久生效,就需要配置到profile里:
vim /etc/profile
然后再重新加載此文件:
source /etc/profile
mysql的-p是指定密碼,但是現(xiàn)在還沒有密碼,所以直接回車即可:
退出mysql使用exit或者quit。
設(shè)置密碼使用如下命令:
mysqladmin -uroot password '123456'
設(shè)置完密碼之后,就不能直接使用mysql -uroot登錄了:
那我們就使用mysql -uroot -p命令來指定密碼:
以下這種更改root密碼的方式需要知道原本的密碼才能進行更改,不然無法更改,也是使用mysqladmin命令進行更改,如下示例:
現(xiàn)在就需要使用更改后的密碼來登錄mysql了:
如果你不知道root的密碼,或者忘記了,還有另一種方式可以重置密碼,首先編輯my.cnf配置文件在[mysqld]下加入如下內(nèi)容:
這一句是用來跳過密碼,忽略密碼的
修改完之后,重新啟動服務(wù):
service mysqld restart
重啟之后直接使用mysql -uroot就可以直接登錄了:
登錄進去之后,我們需要通過一個表來更改密碼,首先使用use mysql; 選擇mysql庫:
然后使用desc user; 可以查看user表的表結(jié)構(gòu),在表結(jié)構(gòu)中可以看到User和Password的字段:
我們現(xiàn)在要修改的就是Password這個字段,sql語句如下:
update user set password=password('12345') where user='root';
修改完后,退出mysql,然后將my.cnf的那個跳過密碼那一句給注釋掉:
vim /etc/my.cnf
然后重啟mysql,這時登錄就需要使用你更改后的密碼了:
13.2 連接mysql
介紹一下幾種常用的連接mysql的命令:
mysql -uroot -p12345
這個命令,是較為常用的,連接本機的mysql命令,剛才也使用到了這個命令來連接mysql,在這就不贅述了。
mysql -uroot -p12345 -h227.0.0.1 -P3306
這個命令是連接遠程的mysql,例如A機器要連接B機器的mysql,就需要使用這個命令,示例:
mysql -uroot -p12345 -S/tmp/mysql.sock
這個命令是通過sock來進行連接mysql,在Linux/Unix操作系統(tǒng)中有一種通信方式使用的就是sock,但是這種方式僅能用于本機,所以實際上和第一種命令是一樣的:
mysql -uroot -p12345 -e “show databases”
這個命令是通過-e選項在登錄時執(zhí)行一條sql語句,這條sql語句是用來列出mysql中所有的數(shù)據(jù)庫的,這種情況一般使用在shell腳本里:
13.3 mysql常用命令
mysql的命令需要登錄進mysql才能進行執(zhí)行,所以在這之前才要介紹如何去連接mysql,既然知道如何連接mysql后就開始使用一下mysql的常用命令吧:
查詢庫 show databases;這個命令剛才也用到過:
切換庫 use mysql; 這條命令是切換到了mysql庫下:
查看庫里所有的表 show tables;
查看表里的字段 desc tb_name; 庫包含著表,而表包含著字段:
查看建表語句 show create table tb_name\G; 如果不加G會顯示得很亂:
查看當前用戶 select user(); 這個user()是一個函數(shù):
如果你用的是遠程登錄,那么這里顯示的是root@主機名,本地登錄才會顯示root@localhost
在root目錄下的.mysql_history文件里記錄著mysql的命令歷史:
查看當前使用的數(shù)據(jù)庫 select database();
現(xiàn)在沒有選擇數(shù)據(jù)庫,所以顯示null,要選擇一個數(shù)據(jù)庫,才會顯示當前數(shù)據(jù)庫的名稱:
創(chuàng)建庫 create database db1;
創(chuàng)建表 use db1; create table t1(`id` int(4), `name` char(40));
這時我們使用show create table t1\G;語句就可以看到這個表的創(chuàng)建語句,末尾跟的是默認的引擎和默認的字符集:
如果不想使用這個默認的字符集,可以在創(chuàng)建表的時候指定其他的字符集,示例:
查看當前數(shù)據(jù)庫版本 select version();
查看數(shù)據(jù)庫狀態(tài) show status;
查看各參數(shù) show variables; 會列出很多內(nèi)容:
查看具體的參數(shù),例如我要查看max_connect_errors參數(shù):
show variables like 'max_connect_errors';
如果想要查看某個參數(shù),但是不記得完整的名稱了,可以使用模糊查詢:
show variables like 'max_connect%';
修改參數(shù) set global max_connect_errors=1000;
需要永久生效需要去my.cnf里修改
查看隊列 show processlist; 查看隊列相當于在Linux使用ps或者top命令查看系統(tǒng)狀況一樣:
查看完整的隊列show full processlist;
擴展
mysql5.7 root密碼更改
http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎對比
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
同學分享的親身mysql調(diào)優(yōu)經(jīng)歷:
http://www.apelearn.com/bbs/thread-11281-1-1.html
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。