2018.3.22 13周4次課
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次課