一吕漂、到社區(qū)下載安裝包
二廷痘、安裝
1、雙擊安裝包
三构灸、啟動(dòng)MySQL
1上渴、打開(kāi)系統(tǒng)偏好設(shè)置,會(huì)發(fā)現(xiàn)多了一個(gè)MySQL圖標(biāo)
2、點(diǎn)擊它稠氮,會(huì)進(jìn)入MySQL的設(shè)置界面
3曹阔、這里就可以對(duì)MySQL進(jìn)行一些簡(jiǎn)單操作的管理
四、終端操作MySQL
我們?cè)诮K端輸入mysql括袒,發(fā)現(xiàn)提示 commod not found次兆,那是因?yàn)槲覀儧](méi)配置系統(tǒng)的環(huán)境變量,下面我們來(lái)配置:
1)查看mysql是否安裝成功
2)在終端加入環(huán)境路徑
????第一步 :在終端切換到根目錄锹锰,編輯./.bash_profile文件
????$cd. ? ?~
????$ vim ?./.bash_profile
????第二步 :進(jìn)入vim 編輯環(huán)境。 按下i 進(jìn)入 insert 模式 漓库,輸入
????export ?PATH=$PATH:/usr/local/mysql/bin
????export ?PATH=$PATH:/usr/local/mysql/support-files
????第三步 :按下esc 退出 insert 模式恃慧,輸入:wq保存配置文件。
????:wq
????第四步 :在終端界面下輸入以下命令渺蒿,讓配置文件的修改生效痢士,并查看環(huán)境變量是否設(shè)置成功
????$source ~/.bash_profile
????$echo $PATH
????2.1 MySQL服務(wù)的啟停和狀態(tài)的查看
? ??停止MySQL服務(wù)
????????????sudo mysql.server stop
????重啟MySQL服務(wù)
????????????sudo mysql.server restart
? ? 查看MySQL服務(wù)狀態(tài)
????????????sudo mysql.server status
????3)登陸mysql
????第一步 :終端界面下輸入
????????????sudo mysql.server start
? ??第二步 :?jiǎn)?dòng)mysql服務(wù),啟動(dòng)成功后繼續(xù)輸入
? ??????????mysql -u root -p. jingyu
五、初始化設(shè)置
????????????設(shè)置初始化密碼茂装,進(jìn)入數(shù)據(jù)庫(kù)mysql數(shù)據(jù)庫(kù)之后執(zhí)行下面的語(yǔ)句怠蹂,設(shè)置當(dāng)前root用戶的密碼為root。
????????????set password=password('root');
? ? ? ? ? ?5.1 退出sql界面 ? ???
? ??????????exit
? ? ? ? ? ?5.2少态、配置??
????????????進(jìn)入到 /usr/local/mysql/support-files 目錄城侧。里面有個(gè)文件:my-default.cnf
????????????將其復(fù)制到桌面上,改名為my.cnf彼妻,將內(nèi)容替換為嫌佑。
????????????[mysqld]?
? ? ? ? ? ? ? ? ? default-storage-engine= INNODB?
? ? ? ? ? ? ? ? ? character-set-server=utf8?
? ? ? ? ? ? ? ? ? port = 3306?
????????????[client] ?
??????????????????default-character-set = utf8
????????????將修改后的文件my.cnf復(fù)制到 /etc 目錄下。
????????????重啟mysql
????????????5.3 檢測(cè)修改結(jié)果????
????????????$mysql>>> show variables like '%char%' ;
命令行
Note that all text commands must be first on line and end with ';'
?? ? ? ? (\?) Synonym for `help'.
clear? ? (\c) Clear the current input statement.
connect? (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit? ? ? (\e) Edit command with $EDITOR.
ego? ? ? (\G) Send command to mysql server, display result vertically.
exit? ? ? (\q) Exit mysql. Same as quit.
go? ? ? ? (\g) Send command to mysql server.
help? ? ? (\h) Display this help.
nopager? (\n) Disable pager, print to stdout.
notee? ? (\t) Don't write into outfile.
pager? ? (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print? ? (\p) Print current command.
prompt? ? (\R) Change your mysql prompt.
quit? ? ? (\q) Quit mysql.
rehash? ? (\#) Rebuild completion hash.
source? ? (\.) Execute an SQL script file. Takes a file name as an argument.
status? ? (\s) Get status information from the server.
system? ? (\!) Execute a system shell command.
tee? ? ? (\T) Set outfile [to_outfile]. Append everything into given outfile.
use? ? ? (\u) Use another database. Takes database name as argument.
charset? (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings? (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.
1侨歉、數(shù)據(jù)庫(kù)登錄:?
1.登錄本地的MYSQL數(shù)據(jù)庫(kù):mysql -u root -p??
2.連接遠(yuǎn)程主機(jī)上的MYSQL數(shù)據(jù)庫(kù):mysql -h 192.168.191.2 -u root -p 123456
密碼修改:mysqladmin -u root -p 舊密碼? -password 新密碼
mysqladmin -u root -p abs123? -password 123456
2屋摇、增加新用戶并指定用戶的權(quán)限,命令格式:grant 權(quán)限幽邓,權(quán)限2炮温,... on 數(shù)據(jù)庫(kù)名.數(shù)據(jù)表 to 用戶名@用戶的地址 identified by 密碼
grant select ,insert,create,drop on test.student to peter@192.168.15.12 identifiled by 'abc123'?
3、數(shù)據(jù)庫(kù)備份:mysqldump -h 主機(jī)名 -P 端口號(hào) -u 用戶名 -p 密碼 databasename datatablename > out.sql
導(dǎo)出數(shù)據(jù)庫(kù)所有數(shù)據(jù):mysqldump -u root -p 123456 test > out.sql
導(dǎo)出數(shù)據(jù)庫(kù)數(shù)據(jù)表數(shù)據(jù):mysqldump -u root -p 123456 test student > out.sql
?導(dǎo)出數(shù)據(jù)庫(kù)的表結(jié)構(gòu)牵舵,不導(dǎo)出數(shù)據(jù) mysqldump -u root -p --opt -d test > out.sql
導(dǎo)出數(shù)據(jù)而不導(dǎo)出結(jié)構(gòu)? mysqldump -u root -p -t -d test > out.sql
導(dǎo)出特定表的結(jié)構(gòu) mysqldump -u root -p -d test --table student > out.sql
數(shù)據(jù)導(dǎo)入:
mysql test < out.sql
source out.sql
4柒啤、mysql 數(shù)據(jù)類型總結(jié)
MYSQL 數(shù)據(jù)類型含義
整型?
tinyint1個(gè)字節(jié)
smallint2個(gè)字節(jié)
mediumint3個(gè)字節(jié)
int(m)4個(gè)字節(jié)
bigint(m)?8個(gè)字節(jié)
?浮點(diǎn)數(shù)?
?float(m,d)?單精度浮點(diǎn)數(shù)
?double(m,d)?雙精度浮點(diǎn)數(shù)
?字符串?
char(n)?固定長(zhǎng)度,最多255個(gè)字符
?varchar(n)?可變長(zhǎng)度棋枕,最多65535個(gè)字符
?tinytext?可變長(zhǎng)度白修,最多255個(gè)字符
?text?可變長(zhǎng)度,最多65535個(gè)字符
?mediumtext?可變長(zhǎng)度重斑,最多2的24-1次方個(gè)字符
?longtext?可變長(zhǎng)度兵睛,最多2的32-1次方個(gè)字符
?二進(jìn)制數(shù)據(jù)?
?tinyblob?0-255字節(jié)
?blod?
mediumblod?
long blod?
日期時(shí)間類型?
date日期 2019-05-29
time時(shí)間 21:12:12
datetime日期時(shí)間??2019-05-29?21:12:12
timestamp自動(dòng)存儲(chǔ)記錄修改時(shí)間,可以存放最后被修改的時(shí)間
5、MYSQL 關(guān)鍵字
MYSQL 關(guān)鍵字含義
NULL數(shù)據(jù)列可以為NULL
NOT NULL數(shù)據(jù)列不可以包含NULL值
DEFAULT默認(rèn)值
PRIMARY KEY主鍵
AUTO_INCREMENT自動(dòng)遞增祖很,適用于整數(shù)類型·
UNSIGNED無(wú)符號(hào)
CHARACTER SET name指定一個(gè)字符集
6笛丙、創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表:create database 數(shù)據(jù)庫(kù)名稱 [其他選項(xiàng)]
7、使用數(shù)據(jù)庫(kù):use 數(shù)據(jù)庫(kù)名
8假颇、創(chuàng)建數(shù)據(jù)表: create table 表名(列聲明1胚鸯,列聲明2,列聲明3...)
例子:創(chuàng)建學(xué)生記錄表笨鸡,表有學(xué)號(hào)(ID)姜钳,姓名(name),性別(sex),年齡(age), 入學(xué)日期(school_day)
create table student(
id int unsigned not null? primary key,
name varchar(10) not null,
sex char(4) not null,
age tinyint unsigned not null ,
school_day datetime not null
)
9形耗、數(shù)據(jù)表的增刪改查操作
插入新數(shù)據(jù):insert into student values(101,'peter','male','17','2019-5-29 12:12:00')
mysql> select * from student;
+----------+------------+-----------+-----------+---------------------+
| id | name | sex | age | school_day |
+----------+------------+-----------+-----------+---------------------+
| 101 | peter | male | 17 | 2019-05-29 12:12:00 |
+----------+------------+-----------+-----------+---------------------+
更新數(shù)據(jù)記錄: update student set age=23 where id=101
刪除操作:delete from student where age=18;
10哥桥、關(guān)于表格結(jié)構(gòu)的操作
添加列:alter table student add address varchar(100) after age;
更改列的名稱:alter table student change address addr? char(69);
刪除列:alter table student drop addr;
重命名表格:alter table student rename students;
11、刪除數(shù)據(jù)庫(kù)和數(shù)據(jù)表
刪除表:drop table student;
刪除數(shù)據(jù)庫(kù):drop database? test激涤;
六拟糕、可視化界面
????????????如果覺(jué)得命令行操作不方便,也可以使用可視化軟件倦踢,例如 navacat送滞、