1. 程式人生 > >2018.3.22 13周4次課

2018.3.22 13周4次課

Linux學習

十三周四次課(3月22日)

13.1 設置更改root密碼

13.2 連接mysql

13.3 mysql常用命令

13.1 設置更改root密碼

root用戶的mysql的超級管理員用戶,跟linux的root用戶類似。但需要區分,這個root用戶和系統的root用戶不是一個用戶,需要註意。也可以創建一個普通用戶來連接mysql

首次進入mysql數據庫是不用密碼的。默認mysql數據庫的root用戶密碼為空,連接時不需要密碼

  • 設置密碼:

啟動mysql:service mysqld start

技術分享圖片

usr/local/mysql/bin/mysql -uroot

更改環境變量PATH,增加mysql絕對路徑

export PATH=$PATH:/usr/local/mysql/bin/

mysql –uroot

技術分享圖片

讓變量永久生效,要把export PATH=$PATH:/usr/local/mysql/bin/ 放入/etc/profile文件裏最後一行

技術分享圖片

使環境變量生效需要運行命令:source /etc/profile

進入mysql數據庫:mysql -uroot –p //因為密碼為空,所以輸入密碼時直接回車

技術分享圖片

設置密碼:mysqladmin -uroot password '密碼'

mysqladmin -uroot password '123456' //密碼可以不用單引號

技術分享圖片

用新設置的密碼登陸:mysql -uroot –p'123456'

技術分享圖片

  • 更改密碼:mysqladmin -uroot -p'舊密碼' password '新密碼'

mysqladmin -uroot -p'123456' password 'aminglinux.2'

登陸:mysql -uroot -p'aminglinux.2'

技術分享圖片

  • 密碼重置

編輯vim /etc/my.cnf //在【mysqld】這部分增加skip-grant

技術分享圖片

修改配置文件後需要重啟服務:service mysqld restart

技術分享圖片

現在進入就不要密碼了:mysql -uroot

技術分享圖片

在mysql庫裏的user表裏更改密碼

use mysql; //切換到mysql庫

技術分享圖片

select * from user\G; //查找user表,G:表示豎排顯示

技術分享圖片

select password from user; //password是加密的字符串,也可以寫成select password from user where user='root';

技術分享圖片

update user set password=password('aminglinux') where user='root'; //第一個password是密碼字段,第二個password是生成加密密碼的函數

技術分享圖片

退出改回/etc/my.cnf文件,刪除skip-grant這一行

重啟服務:service mysqld restart

技術分享圖片

再次登陸:mysql -uroot –paminglinux

技術分享圖片

13.2 連接mysql

mysql -uroot -pamingliunx //連接本機,默認連接方式是sock

mysql -uroot -pamingliunx -h127.0.0.1 -P3306 //連接遠程,-h:指定遠程主機的ip;-P:指定遠程主機mysql的綁定端口,默認都是3306

技術分享圖片

mysql -uroot -paminglinux -S/tmp/mysql.sock //用sock方式連接,適合連接本機,用-S來指定sock。和第一種連接方式一樣

mysql -uroot -paminglinux -e "show databases" //-e是連接上數據庫後的操作命令,使用在shell腳本裏比較多

技術分享圖片

13.3 mysql常用命令

  • 查詢庫 show databases;

技術分享圖片

  • 切換庫 use mysql;

技術分享圖片

  • 查看庫裏的表 show tables; //庫由表組成的

技術分享圖片

  • 查看表裏的字段 desc tb_name; //表由字段組成的

desc user; //查看user表的字段

技術分享圖片

  • 查看建表語句 show create table tb_name\G;

show create table user\G; //查看user表是怎麽創建的

技術分享圖片

  • 查看當前用戶 select user(); //顯示的是localhost

技術分享圖片

換一種方法:指定ip和端口

mysql -uroot -paminglinux -h127.0.0.1 //顯示的是localhost,因為127.0.0.1是本機

技術分享圖片

mysql -uroot -paminglinux -h192.168.37.101 -P3306 //顯示的是主機名,這個是反解析。通過192.168.7.101反解析到aming-02的主機

技術分享圖片

  • 查看當前使用的數據庫 select database();

技術分享圖片

數據庫為空

use mysql //切換到mysql數據庫查看

技術分享圖片

數據庫是mysql

  • mysql也有命令歷史的記錄功能,文件在root用戶根目錄下 /. mysql_history

技術分享圖片

cat .mysql_history

技術分享圖片

  • 創建庫 create database db1;

技術分享圖片

show databases; //可以看到多了個db1

技術分享圖片

  • 創建表 use db1; create table t1(`id` int(4), `name` char(40)); //t1:表名;id:字段名;int:數據類型是數字型;4:數據長度是4;name:字段名;char:數據類型是字符型;40:數據長度是40

技術分享圖片

show create table t1\G;

技術分享圖片

ENGINE=InnoDB //數據引擎是InnoDB

DEFAULT CHARSET=latin1 //默認字符集是拉丁1

drop table t1; //刪除t1表

技術分享圖片

use db1; create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8; //創建默認字符集是utf8的表t1

技術分享圖片

show create table t1\G;

技術分享圖片

  • 查看當前數據庫版本 select version();

技術分享圖片

  • 查看數據庫狀態 show status;

技術分享圖片

  • 查看各參數 show variables; show variables like 'max_connect%';

show variables; //查看全部參數

技術分享圖片

show variables like 'max_connect%'; //查看指定的參數,%:通配符,類似shell下的*。

技術分享圖片

修改參數 set global max_connect_errors=1000; //在內存中生效,重啟就失效了。想永久生效就要退出mysql,在/etc/my.cnf配置中修改

技術分享圖片

查看隊列 show processlist; show full processlist;

show processlist;

技術分享圖片

show full processlist; //查看完整的信息

技術分享圖片


2018.3.22 13周4次課