真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

有哪些MySQL必會(huì)的基礎(chǔ)命令

下文我給大家簡(jiǎn)單講講關(guān)于有哪些MySQL必會(huì)的基礎(chǔ)命令,大家之前了解過(guò)相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來(lái)看看這篇文章吧,相信看完有哪些MySQL必會(huì)的基礎(chǔ)命令對(duì)大家多少有點(diǎn)幫助吧。

10年積累的做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有東港免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1.1 登陸數(shù)據(jù)庫(kù)。

mysql -uroot -poldboy123 -S /data/3306/mysql.sock

1.2 查看數(shù)據(jù)庫(kù)版本及當(dāng)前登錄用戶是什么。

select version();
select user();

1.3 創(chuàng)建GBK字符集的數(shù)據(jù)庫(kù)oldboy,并查看已建庫(kù)的完整語(yǔ)句。

create database oldboy character set gbk collate gbk_chinese_ci;
show create database oldboy\G

1.4 創(chuàng)建用戶oldboy,使之可以管理數(shù)據(jù)庫(kù)oldboy。

grant all on oldboy.* to 'oldboy'@'localhost' identified by 'oldboy123';

1.5 查看創(chuàng)建的用戶oldboy擁有哪些權(quán)限。

show grants for oldboy@localhost\G

1.6 查看當(dāng)前數(shù)據(jù)庫(kù)里有哪些用戶。

select user,host from mysql.user;

1.7 創(chuàng)建管理員帳戶admin

grant all on *.* to 'admin'@'localhost' identified by 'admin123' with grant option;

1.8 進(jìn)入oldboy數(shù)據(jù)庫(kù)

use oldboy;

1.9 創(chuàng)建test表:innodb引擎,字符集為GBK,字段為id int(4)和name varchar(16),查看建表結(jié)構(gòu)及SQL語(yǔ)句。

create table test (
id int(4),
name varchar(16)
)ENGINE=innodb DEFAULT CHARSET=gbk;

desc test; #<==等價(jià)于命令:show columns from test;
show create table test\G

1.10 插入一條數(shù)據(jù) 1,oldboy

insert into test values('1','oldboy');

1.11 批量插入數(shù)據(jù) 2,老男孩,3,etiantian。要求中文不能亂碼。

insert into test values('2','老男孩'),('3','etiantian');

1.12 查詢插入的所有記錄,查詢名字為oldboy的記錄。查詢id大于1的記錄。

select * from test where name='oldboy';
select * from test where id>1;

1.13 把數(shù)據(jù)id等于1的名字oldboy更改為oldgirl。

update test set name='oldgirl' where id=1;

1.14 在字段name前插入age字段,類型tinyint(2)。

alter table test add name tinyint(2) after id;

1.15 備份oldboy庫(kù)及mysql庫(kù)。

mysqldump -uroot -poldboy123 -S /data/3306/mysql.sock --events -B oldboy mysql >/opt/bak_$(date +%F).sql

egrep -v "#|^$|--|\/" /opt/bak_2017-06-06-13時(shí)36分37秒.sql

1.16 刪除表中的所有數(shù)據(jù),并查看。

truncate table test; #<==物理刪除,一次性清空,不可以rollback
delete from test; #<==邏輯刪除,一行一行的刪,比較慢,可以rollback

1.17 刪除表test和oldboy數(shù)據(jù)庫(kù)并查看

drop table test;
drop database oldboy;

1.18 Linux命令行恢復(fù)以上刪除的數(shù)據(jù)。

mysql -uroot -poldboy123 -S /data/3306/mysql.sock 

1.19 把GBK字符集修改為UTF8(可選,注意,此題有陷阱)。

1.先導(dǎo)出表中數(shù)據(jù)

mysqldump -uroot -poldboy123 -S /data/3306/mysql.sock -B oldboy >/opt/test.sql
egrep -v "^$|--|\/" /opt/test.sql #<==可以看到這一行:ENGINE=MyISAM DEFAULT CHARSET=gbk;

2.修改字符集

sed -i 's#CHARSET=gbk#CHARSET=utf8#g' /opt/test.sql
egrep -v "^$|--|\/" /opt/test.sql #<==驗(yàn)證:) ENGINE=MyISAM DEFAULT CHARSET=utf8;

3.恢復(fù)數(shù)據(jù)

在sql文件中添加一條 set names utf8;并恢復(fù)
mysql -uroot -poldboy123 -S /data/3306/mysql.sock  oldboy 

1.20 MySQL密碼丟了,如何找回實(shí)戰(zhàn)?

[root@db01 ~]# netstat -tunlp|grep 3306 #<==先查看服務(wù)是否正常
tcp        0      0 0.0.0.0:3306            0.0.0.0:*          LISTEN      62358/mysqld
[root@db01 ~]# kill 62358 #<==kill掉進(jìn)程的pid
[root@db01 ~]# netstat -tunlp|grep 3306 #<==mysql進(jìn)程已關(guān)閉
[root@db01 ~]# mysqld_safe --help #<==利用mysqld_safe命令指定配置文件,跳過(guò)授權(quán)表來(lái)破密碼
[root@db01 ~]# mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables 2>&1 >/dev/null &
[root@db01 ~]# mysql -S /data/3306/mysql.sock #<==無(wú)密碼登錄進(jìn)多實(shí)例3306
mysql> select user,host,password from mysql.user where user='root' and host='localhost';
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *FE28814B4A8B3309DAC6ED7D3237ADED6DA1E515 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)#<==先看下mysql庫(kù),user表里的字段內(nèi)容
mysql> update mysql.user set password=PASSWORD("oldboy123") where user='root' and host='localhost'; #<==利用update命令來(lái)更新root@localhost用戶的密碼
mysql> flush privileges; #<==記得刷新授權(quán)表,否則不會(huì)立馬生效的
Query OK, 0 rows affected (0.00 sec)
[root@db01 ~]# sed -i 's#mysql_pwd="oldboy456"#mysql_pwd="oldboy123"#g' /data/3306/mysql
[root@db01 ~]# grep mysql_pwd= /data/3306/mysql #<==修改啟動(dòng)腳本的密碼,才能利用命令來(lái)停止服務(wù)
mysql_pwd="oldboy123"
[root@db01 ~]# /data/3306/mysql stop #<==先停掉服務(wù),因?yàn)橛刑^(guò)授權(quán)表的參數(shù)在
Stoping MySQL...
[1]+  Done   mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables 2>&1 > /dev/null
[root@db01 ~]# /data/3306/mysql start #<==啟動(dòng)
Starting MySQL...
[root@db01 ~]# ss -tunlp|grep 3306 #<==偵聽正常
tcp    LISTEN     0      600          *:3306        *:*      users:(("mysqld",66695,12))
[root@db01 ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock #<==成功登錄

1.21 MySQL內(nèi)中文數(shù)據(jù)亂碼的原理及如何防止亂碼?(可選)。

保證以下的字符集一致即可

mysql> show VARIABLES like 'character_set%';               
+--------------------------+--------------+
| Variable_name            | Value        |
+--------------------------+--------------+
| character_set_client     | utf8         |#<==客戶端字符集
| character_set_connection | utf8         |#<==客戶端連接字符集,配置文件指定或建庫(kù)表指定
| character_set_database   | utf8         |#<==數(shù)據(jù)庫(kù)的字符集
| character_set_filesystem | binary       |#<==文件系統(tǒng)字符集
| character_set_results    | utf8         |#<==客戶端返回結(jié)果字符集
| character_set_server     | utf8         |#<==云服務(wù)器字符集,配置文件指定或建庫(kù)表指定
| character_set_system     | utf8         |#<==Linux系統(tǒng)的字符集
| character_sets_dir       | /application/mysql-5.5.49/share/charsets/ |
+--------------------------+-------------------------------------------+
8 rows in set (0.01 sec)

1.22 在把id列設(shè)置為主鍵,在name字段上創(chuàng)建普通索引。

alter table test add primary key (id);
alter table test add index index_name (name);

1.23 在字段name后插入手機(jī)號(hào)字段(shouji),類型char(11)。

alter table test add shouji char(11);

1.24 所有字段上插入2條記錄(自行設(shè)定數(shù)據(jù))

insert into test val-ues('4','18','chen','15298914487'),('5','19','he','15298913929');

1.25 在手機(jī)字段上對(duì)前8個(gè)字符創(chuàng)建普通索引。

alter table test add index index_shouji (shouji(8));

1.26 查看創(chuàng)建的索引及索引類型等信息。

desc test;
show create table test\G
show index from test\G

1.27 刪除name,shouji列的索引。

alter table test drop index index_name;
alter table test drop index index_shouji;

1.28 對(duì)name列的前6個(gè)字符以及手機(jī)列的前8個(gè)字符組建聯(lián)合索引。

alter table test drop index index_shouji;

1.29 查詢手機(jī)號(hào)以152開頭的,名字為chen的記錄(此記錄要提前插入)。

select * from test where name='chen' and shouji like '152%';

1.30 查詢上述語(yǔ)句的執(zhí)行計(jì)劃(是否使用聯(lián)合索引等)。

explain select * from test where name='chen' and shouji like '152%'\G

1.31 把test表的引擎改成MyISAM。

alter table test ENGINE=MYISAM;

大家覺(jué)得有哪些MySQL必會(huì)的基礎(chǔ)命令這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。 


網(wǎng)站題目:有哪些MySQL必會(huì)的基礎(chǔ)命令
文章分享:http://weahome.cn/article/gjegoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部