MySQL(介绍,安装,密码操作,权限表)
生活随笔
收集整理的這篇文章主要介紹了
MySQL(介绍,安装,密码操作,权限表)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、數(shù)據(jù)庫(kù)介紹
1、數(shù)據(jù)庫(kù)相關(guān)概念 a、支持并發(fā)
???? b、鎖的問題
???? c、對(duì)客戶端請(qǐng)求進(jìn)行認(rèn)證
???? d、存取效率(降低IO次數(shù))
??? 數(shù)據(jù)庫(kù)服務(wù)器(本質(zhì)就是一個(gè)臺(tái)計(jì)算機(jī),該計(jì)算機(jī)之上安裝有數(shù)據(jù)庫(kù)管理軟件的服務(wù)端)
??? 數(shù)據(jù)庫(kù)管理管理系統(tǒng)RDBMS(本質(zhì)就是一個(gè)C/S架構(gòu)的套接字軟件)
??? 庫(kù)(文件夾)=====》數(shù)據(jù)庫(kù)
??? 表(文件)
??? 記錄:抽取一個(gè)事物所有典型的特征/數(shù)據(jù)
??????? egon,18,180,male,True 數(shù)據(jù)
??????? name='egon' age=18 height=180 sex="male" beutiful=True
2、數(shù)據(jù)庫(kù)管理系統(tǒng)/軟件分類:
??? 關(guān)系型:
??????? 有表結(jié)構(gòu),存取數(shù)據(jù)前必先定義表結(jié)構(gòu),存數(shù)據(jù)必須按照字段的類型或者約束來
??????? 典型代表:MySQL,Oracle,DB2,SQL server
??? 非關(guān)系型:
??????? 存取數(shù)據(jù)都是采用key:value的形式
??????? 非關(guān)系型:Mongodb,redis,memcache
二、安裝配置
1、安裝 2、加環(huán)境變量 3、把mysqld服務(wù)端軟件做成系統(tǒng)服務(wù)
??? 注意:制作之前先把mysqld關(guān)掉
??? C:\Windows\system32>tasklist |findstr mysqld
??? mysqld.exe??????????????????? 8372 Console??????????????????? 2??? 454,916 K C:\Windows\system32>taskkill /F /PID 8372
??? 成功: 已終止 PID 為 8372 的進(jìn)程。
??? 制作:
??????? mysqld --install 查看:
??????????? windows+r
??????????? 輸入services.msc
4、統(tǒng)一字符編碼
??? 1、在mysql安裝目錄下新建my.ini文件
??? 2、修改my.ini
??????? [mysqld]
??????? character-set-server=utf8
??????? collation-server=utf8_general_ci [client]
??????? default-character-set=utf8 [mysql]
??????? default-character-set=utf8 3、重啟mysqld
??? 4、客戶端登錄,輸入\s查看結(jié)果 5、啟動(dòng):
??? 未制作系統(tǒng)服務(wù)的啟動(dòng)方式:
??????? 1、啟動(dòng)服務(wù)端
??????????? mysqld ??????? 2、啟動(dòng)客戶端
??????????? mysql -uroot -p -h127.0.0.1 -P 3306
??????????? 如果是在本機(jī)登錄mysqld服務(wù)端可以簡(jiǎn)寫:
??????????????? mysql -uroot -p ??? 制作完系統(tǒng)服務(wù)后就可以鼠標(biāo)點(diǎn)擊啟動(dòng)或關(guān)閉mysql:
??????? windows+r
??????? 輸入services.msc
??????? 找到mysql,啟動(dòng)或關(guān)閉
三、登陸與修改密碼
1、修改密碼
?默認(rèn)-uroot -p
?用于設(shè)置密碼
?mysqladmin -uroot -p舊密碼 password 新密碼
?
2、破解管理員密碼
??? 1、先關(guān)閉mysqld服務(wù)端
??? 2、以跳過授權(quán)表的方式在命令行中啟動(dòng)mysqld服務(wù)端
??????? mysqld --skip-grant-tables 3、客戶端直接以無(wú)密碼的方式登錄root用戶,修改密碼
??????? mysql -uroot -p mysql> update mysql.user set password=password("123") where user="root" and host="localhost"; mysql> flush privileges;
??????? Query OK, 0 rows affected (0.00 sec) 4、在命令行中用taskkill殺死m(xù)ysqld服務(wù),然后正常啟動(dòng)mysqld
??????? taskkill /F /PID 131312 def password(mingwen):
??????????? import hashlib
??????????? m=hashlib.md5()
??????????? m.update(mimgwen)
??????????? return m.hexdigest() 四、授權(quán)表(mysql文件夾內(nèi)的幾張表)
user#該表放行的權(quán)限,針對(duì):所有數(shù)據(jù),所有庫(kù)下所有表,以及表下的所有字段
db#該表放行的權(quán)限,針對(duì):某一數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)下的所有表,以及表下的所有字段
tables_priv #該表放行的權(quán)限。針對(duì):某一張表,以及該表下的所有字段
columns_priv #該表放行的權(quán)限,針對(duì):某一個(gè)字段 1.創(chuàng)建用戶的語(yǔ)句
??????? create user? 用戶名@"主機(jī)地址" identified by "密碼";
?? 主機(jī)地址是客戶端ip?? "%" / "127.0.0%" / "12.0.0.1" 2. 授權(quán)的語(yǔ)句? *******
??????? 語(yǔ)法: grant [權(quán)限的名稱 select insert.... | all ] on 數(shù)據(jù)庫(kù).表名? to 用戶名@主機(jī)地址;
? ? all ? *.* ? ? ? ? ? ??
? ? ? ? ? ? ? day41.* ? ? ?
? ? ? ? ? ? ? day41.stu ?? select,insert ? ? ??
??????? select(id,name),insert(id,name) ?? 3.grant [權(quán)限的名稱 select insert.... | all ] on 數(shù)據(jù)庫(kù).表名? to 用戶名@主機(jī)地址 with grant option;
??????? with grant option 授權(quán)GRANT命令 可以創(chuàng)建用戶或者給其它用戶授權(quán)。
??????? 特點(diǎn): 如果授權(quán)時(shí)? 用戶不存在 直接自動(dòng)創(chuàng)建用戶
?? ? grant all on *.* to wd@'%' identified by "123" with grant option; 4.刪除權(quán)限
?????? revoke 權(quán)限的名稱 on 數(shù)據(jù)庫(kù).表名? from 用戶名@"主機(jī)名" ;
??
?????? update mysql.user set? Grant_priv = "N" where user ="scote" and host = "localhost";
??? 刪除創(chuàng)建用戶權(quán)限
???? *.刷新權(quán)限表
??????? flush privileges; ? 5.刪除用戶
??????? drop user 用戶名@"主機(jī)地址"; 6.查看當(dāng)前登陸用戶: ? select user();
1、數(shù)據(jù)庫(kù)相關(guān)概念 a、支持并發(fā)
???? b、鎖的問題
???? c、對(duì)客戶端請(qǐng)求進(jìn)行認(rèn)證
???? d、存取效率(降低IO次數(shù))
??? 數(shù)據(jù)庫(kù)服務(wù)器(本質(zhì)就是一個(gè)臺(tái)計(jì)算機(jī),該計(jì)算機(jī)之上安裝有數(shù)據(jù)庫(kù)管理軟件的服務(wù)端)
??? 數(shù)據(jù)庫(kù)管理管理系統(tǒng)RDBMS(本質(zhì)就是一個(gè)C/S架構(gòu)的套接字軟件)
??? 庫(kù)(文件夾)=====》數(shù)據(jù)庫(kù)
??? 表(文件)
??? 記錄:抽取一個(gè)事物所有典型的特征/數(shù)據(jù)
??????? egon,18,180,male,True 數(shù)據(jù)
??????? name='egon' age=18 height=180 sex="male" beutiful=True
2、數(shù)據(jù)庫(kù)管理系統(tǒng)/軟件分類:
??? 關(guān)系型:
??????? 有表結(jié)構(gòu),存取數(shù)據(jù)前必先定義表結(jié)構(gòu),存數(shù)據(jù)必須按照字段的類型或者約束來
??????? 典型代表:MySQL,Oracle,DB2,SQL server
??? 非關(guān)系型:
??????? 存取數(shù)據(jù)都是采用key:value的形式
??????? 非關(guān)系型:Mongodb,redis,memcache
二、安裝配置
1、安裝 2、加環(huán)境變量 3、把mysqld服務(wù)端軟件做成系統(tǒng)服務(wù)
??? 注意:制作之前先把mysqld關(guān)掉
??? C:\Windows\system32>tasklist |findstr mysqld
??? mysqld.exe??????????????????? 8372 Console??????????????????? 2??? 454,916 K C:\Windows\system32>taskkill /F /PID 8372
??? 成功: 已終止 PID 為 8372 的進(jìn)程。
??? 制作:
??????? mysqld --install 查看:
??????????? windows+r
??????????? 輸入services.msc
4、統(tǒng)一字符編碼
??? 1、在mysql安裝目錄下新建my.ini文件
??? 2、修改my.ini
??????? [mysqld]
??????? character-set-server=utf8
??????? collation-server=utf8_general_ci [client]
??????? default-character-set=utf8 [mysql]
??????? default-character-set=utf8 3、重啟mysqld
??? 4、客戶端登錄,輸入\s查看結(jié)果 5、啟動(dòng):
??? 未制作系統(tǒng)服務(wù)的啟動(dòng)方式:
??????? 1、啟動(dòng)服務(wù)端
??????????? mysqld ??????? 2、啟動(dòng)客戶端
??????????? mysql -uroot -p -h127.0.0.1 -P 3306
??????????? 如果是在本機(jī)登錄mysqld服務(wù)端可以簡(jiǎn)寫:
??????????????? mysql -uroot -p ??? 制作完系統(tǒng)服務(wù)后就可以鼠標(biāo)點(diǎn)擊啟動(dòng)或關(guān)閉mysql:
??????? windows+r
??????? 輸入services.msc
??????? 找到mysql,啟動(dòng)或關(guān)閉
三、登陸與修改密碼
1、修改密碼
?默認(rèn)-uroot -p
?用于設(shè)置密碼
?mysqladmin -uroot -p舊密碼 password 新密碼
?
2、破解管理員密碼
??? 1、先關(guān)閉mysqld服務(wù)端
??? 2、以跳過授權(quán)表的方式在命令行中啟動(dòng)mysqld服務(wù)端
??????? mysqld --skip-grant-tables 3、客戶端直接以無(wú)密碼的方式登錄root用戶,修改密碼
??????? mysql -uroot -p mysql> update mysql.user set password=password("123") where user="root" and host="localhost"; mysql> flush privileges;
??????? Query OK, 0 rows affected (0.00 sec) 4、在命令行中用taskkill殺死m(xù)ysqld服務(wù),然后正常啟動(dòng)mysqld
??????? taskkill /F /PID 131312 def password(mingwen):
??????????? import hashlib
??????????? m=hashlib.md5()
??????????? m.update(mimgwen)
??????????? return m.hexdigest() 四、授權(quán)表(mysql文件夾內(nèi)的幾張表)
user#該表放行的權(quán)限,針對(duì):所有數(shù)據(jù),所有庫(kù)下所有表,以及表下的所有字段
db#該表放行的權(quán)限,針對(duì):某一數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)下的所有表,以及表下的所有字段
tables_priv #該表放行的權(quán)限。針對(duì):某一張表,以及該表下的所有字段
columns_priv #該表放行的權(quán)限,針對(duì):某一個(gè)字段 1.創(chuàng)建用戶的語(yǔ)句
??????? create user? 用戶名@"主機(jī)地址" identified by "密碼";
?? 主機(jī)地址是客戶端ip?? "%" / "127.0.0%" / "12.0.0.1" 2. 授權(quán)的語(yǔ)句? *******
??????? 語(yǔ)法: grant [權(quán)限的名稱 select insert.... | all ] on 數(shù)據(jù)庫(kù).表名? to 用戶名@主機(jī)地址;
? ? all ? *.* ? ? ? ? ? ??
? ? ? ? ? ? ? day41.* ? ? ?
? ? ? ? ? ? ? day41.stu ?? select,insert ? ? ??
??????? select(id,name),insert(id,name) ?? 3.grant [權(quán)限的名稱 select insert.... | all ] on 數(shù)據(jù)庫(kù).表名? to 用戶名@主機(jī)地址 with grant option;
??????? with grant option 授權(quán)GRANT命令 可以創(chuàng)建用戶或者給其它用戶授權(quán)。
??????? 特點(diǎn): 如果授權(quán)時(shí)? 用戶不存在 直接自動(dòng)創(chuàng)建用戶
?? ? grant all on *.* to wd@'%' identified by "123" with grant option; 4.刪除權(quán)限
?????? revoke 權(quán)限的名稱 on 數(shù)據(jù)庫(kù).表名? from 用戶名@"主機(jī)名" ;
??
?????? update mysql.user set? Grant_priv = "N" where user ="scote" and host = "localhost";
??? 刪除創(chuàng)建用戶權(quán)限
???? *.刷新權(quán)限表
??????? flush privileges; ? 5.刪除用戶
??????? drop user 用戶名@"主機(jī)地址"; 6.查看當(dāng)前登陸用戶: ? select user();
轉(zhuǎn)載于:https://www.cnblogs.com/3sss-ss-s/p/9627791.html
總結(jié)
以上是生活随笔為你收集整理的MySQL(介绍,安装,密码操作,权限表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统之TroubleShoot
- 下一篇: NFS网络共享文件系统