MYSQL基礎命令整理

1.開啓MySQL服務

#systemctl start mysql

2.檢測端口是否運行

#lsof -i :3306
#netstat -lntup |grep 3306

3.爲MySQL設置密碼或者修改密碼

設置密碼

# mysqladmin -uroot passowrd "NEWPASSWORD"

更改密碼

MySQL [(none)]> use mysql;
MySQL [(mysql)]> update user set passowrd = PASSWORD('newpassword') where user = 'root';(5.7版本以下)
mysql>  update user set authentication_string=password("123456") where user='root';    (5.7以上版本)
mysql>flush privileges

msyql 5.7以上版本修改默認密碼命令

MySQL [(mysql)]>alter user 'root'@'localhost' identified by 'root' ;

4.登陸MySQL數據庫

#mysql -uroot -p

5.查看當前數據庫的字符集

MySQL [mysql]> show create database mysql;

6.查看當前數據庫版本

#mysql -V
#mysql -uroot -ppassowrd -e "use mysql;select version();"
MySQL [mysql]> select version();

7.查看當前登錄的用戶

MySQL [mysql]> select user();

8.創建GBK字符集的數據庫wang,並查看已建庫完整語句

 MySQL [mysql]>create database mingongge DEFAULT CHARACTER SET GBK COLLATE gbk_chinese_ci;

8.通過表創建用戶wangwang,使之擁有增查插權限。

MySQL [mysql]> insert into user(host,user,password,Select_priv,Insert_priv,Update_priv) values ('localhost','wangwang',password('redhat'),'Y','Y','Y'); 

9.增加wangwang用戶刪除權限。

MySQL [mysql]> update user set  Delete_priv='Y' where user='wangwang';
MySQL [mysql]> flush privileges;
MySQL [mysql]select * from user where user='wangwang'\G;

9.創建用戶wang,使之可以管理數據庫wang

 MySQL [mysql]>grant all on wang.* to 'wang'@'localhost' identified by 'redhat';

10.查看創建的用戶wang擁有哪些權限

 MySQL [mysql]>show grants for wang@localhost;

11.查看當前數據庫裏有哪些用戶

 MySQL [mysql]>select user from mysql.user;

12.進入wang數據庫

MySQL [mysql]> use wang;

13.創建一innodb GBK表test,字段id int(4)和name varchar(16)

MySQL [mysql]> create table test (
id int(4),
name varchar(16)
)ENGINE=innodb DEFAULT CHARSET=gbk;

14.查看建表結構及表結構的SQL語句

MySQL [wang]> desc test;
或者
MySQL [mysql]> show columns from user;
MySQL [wang]> show create table test\G;

15.插入一條數據“1,wang1”

MySQL [wang]> insert into test values('1','wang1');

16.再批量插入2行數據 “2,wang2”,“3,wang3”

MySQL [wang]> insert into test values('2','wang2'),('3','wang3');

17.查詢名字爲wang1的記錄

MySQL [wang]>select * from test where name = 'wang1';

18.把數據id等於1的名字更改爲wangwang1

MySQL [wang]> update test set name='wangwang1' where id='1';

19.在字段name前插入age字段,類型tinyint(2)

MySQL [wang]> alter table test add age tinyint(2) after id;
MySQL [wang]> update test set age='16' where name='wangwang1';

20.不退出數據庫,完成備份wang數據庫

MySQL [wang]> system mysqldump -uroot -predhat -B wang >/root/wang_bak.sql

21.刪除test表中的所有數據,並查看

MySQL [wang]> delete from test;
MySQL [wang]> select * from test;

22.刪除表test和mingongge數據庫並查看

MySQL [wang]> drop table test;
MySQL [wang]> show tables;
MySQL [wang]> drop database wang;
MySQL [(none)]> show databases;

23.不退出數據庫恢復以上刪除的數據

MySQL [(none)]> system mysql -uroot -predhat</root/wang_bak.sql;

24.把庫表的GBK字符集修改爲UTF8

MySQL [wang]> alter database wang default character set utf8;
MySQL [wang]> alter table test default character set utf8;

25.把id列設置爲主鍵,在Name字段上創建普通索引

MySQL [wang]> alter table test add primary key(id);
MySQL [wang]> create index wangindex on test(name(16));

26.在字段name後插入手機號字段(shouji),類型char(11)

MySQL [wang]> alter table test add tel char(11) after name;
MySQL [wang]> alter table test add tel char(11);

#默認就是在最後一列後面插入新增列

27.所有字段上插入2條記錄(自行設定數據)

MySQL [wang]>insert into test values('5','23','li','13700000001'),('6','26','zhao','13710000001');

28.在手機字段上對前8個字符創建普通索引

MySQL [wang]> create index TEL on test(tel(8));

29.查看創建的索引及索引類型等信息

MySQL [wang]> show index from test;
MySQL [wang]> show create table test\G;

#下面的命令也可以查看索引類型 

MySQL [wang]> show keys from test\G;

30.刪除Name,tel列的索引

MySQL [wang]> drop index TEL on test;
MySQL [wang]> drop index wangindex on test;

31.對Name列的前6個字符以及手機列的前8個字符組建聯合索引

MySQL [wang]> create index lianhe on test(name(6),tel(8));

32.查詢手機號以137開頭的,名字爲zhao的記錄(提前插入)

MySQL [wang]> select * from test where tel like '137%' and name='zhao';

33.查詢上述語句的執行計劃(是否使用聯合索引等)

MySQL [wang]> explain select * from test where tel like '137%' and name='zhao'\G;

34.把test表的引擎改成MyISAM

MySQL [wang]> alter table test engine=MyISAM;

35.收回wang用戶的select權限

MySQL [wang]> revoke select on wang.* from wang@localhost;

36.刪除wang用戶

MySQL [wang]> drop user wang@localhost;

37.刪除wang數據庫

MySQL [wang]> drop database wang;

38.使用root關閉數據庫

# mysqladmin -uroot -predhat shutdown

39.MySQL密碼丟了,請找回?

#mysqld_safe --skip-grant-tables 
#mysql -uroot -p -e "use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges;"

40:MySQL主從複製原理及配置主從步驟

原理如下:

主庫開啓binlog功能並授權從庫連接主庫,從庫通過change master得到主庫的相關同步信息,然後連接主庫進行驗證,主庫IO線程根據從庫slave線程的請求,從master.info開始記錄的位置點向下開始取信息,同時把取到的位置點和最新的位置與binlog信息一同發給從庫IO線程,從庫將相關的sql語句存放在relay-log裏面,最終從庫的sql線程將relay-log裏的sql語句應用到從庫上,至此整個同步過程完成,之後將是無限重複上述過程

步驟如下:

1、主庫開啓binlog功能,並進行全備,將全備文件推送到從庫服務器上
2、show master status\G 記錄下當前的位置信息及二進制文件名
3、登陸從庫恢復全備文件
4、執行change master to 語句
5、執行start slave and show slave status\G
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章