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