Mysql的安裝 兩種方式
#這里可以指定mysql的安裝版本奠宜,默認最新版本
brew install mysql
Mysql下載完后初始化設(shè)置密碼
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
1击碗、給root加個密碼1234逢捺。
首先在DOS下進入目錄mysql\bin谁鳍,然后鍵入以下命令
mysqladmin -u root -password 1234
注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。
2倘潜、再將root的密碼改為12345绷柒。
mysqladmin -u root -p ab12 password 12345
數(shù)據(jù)庫增加新用戶
格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by “密碼”
1、增加一個用戶test1密碼為abc涮因,讓他可以在任何主機上登錄废睦,并對所有數(shù)據(jù)庫有查詢、插入养泡、修改嗜湃、刪除的權(quán)限。首先用root用戶連入MYSQL澜掩,然后鍵入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用戶是十分危險的购披,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數(shù)據(jù)庫并對你的數(shù)據(jù)可以為所欲為了输硝,解決辦法見2今瀑。
2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄点把,并可以對數(shù)據(jù)庫mydb進行查詢橘荠、插入、修改郎逃、刪除的操作(localhost指本地主機哥童,即MYSQL數(shù)據(jù)庫所在的那臺主機),
這樣用戶即使用知道test2的密碼褒翰,他也無法從internet上直接訪問數(shù)據(jù)庫贮懈,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
如果你不想test2有密碼优训,可以再打一個命令將密碼消掉朵你。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
Mysql 數(shù)據(jù)庫常用操作命令
1.啟動/停止服務(wù)
mysql.serve start/stop
2、mysql登陸
mysql -u root -p
enter password
3揣非、查看數(shù)據(jù)庫的版本
select version();
4.查看數(shù)據(jù)庫
show databases;
5.創(chuàng)建數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名稱
6.刪除數(shù)據(jù)庫:
drop database 數(shù)據(jù)庫名稱
7.打開數(shù)據(jù)庫:
use 數(shù)據(jù)庫名稱
8.查看數(shù)據(jù)庫中的表
show tables
9.退出數(shù)據(jù)庫
exit
創(chuàng)建數(shù)據(jù)庫并分配用戶
命令:create database <數(shù)據(jù)庫名>
例1:建立一個名為xhkdb的數(shù)據(jù)庫
mysql> create database xhkdb;
例2:創(chuàng)建數(shù)據(jù)庫并分配用戶
①CREATE DATABASE 數(shù)據(jù)庫名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 數(shù)據(jù)庫名.* TO 數(shù)據(jù)庫名@localhost IDENTIFIED BY '密碼';
③SET PASSWORD FOR '數(shù)據(jù)庫名'@'localhost' = OLD_PASSWORD('密碼');
依次執(zhí)行3個命令完成數(shù)據(jù)庫創(chuàng)建抡医。注意:中文 “密碼”和“數(shù)據(jù)庫”是戶自己需要設(shè)置的。
表常用操作命令
1. 創(chuàng)建表(stuId設(shè)置了關(guān)鍵值則不能重復(fù))
create table teacherTable (
-> tId int not null primary key auto_increment,
-> name varchar(20) not null,
-> age int not null);
2. 在表中添加新列
alter table teacherTable add sex archer(10);
3. 查看表結(jié)構(gòu)信息
desc teacherTable;
4. 刪除表
drop table teacherTable;
5. 復(fù)制表
create table personInfo like teacherTable;
6.查詢數(shù)據(jù) *檢索一行早敬, 也可以指定字段來檢索忌傻,多個字段用逗號隔開
select * from 表名 where 字段 = 值;
7.插入數(shù)據(jù) 字段數(shù)據(jù)類型格式要對應(yīng)
insert into 表名 (字段1, ……) values (值1, ……);
8.更新數(shù)據(jù)
update 表名 set 字段=值,…,字段n=值n where 字段=值;
9.刪除數(shù)據(jù)
delete from 表名 where 字段=值;
10.更改表名稱
rename table oldTableName to newTableName;
數(shù)據(jù)庫中對表字段的操作
加索引
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);
加主關(guān)鍵字的索引
mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);
加唯一限制條件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);
刪除某個索引
mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名稱及類型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
刪除字段:
MySQL ALTER TABLE table_name DROP field_name;
查看數(shù)據(jù)庫的屬性
查看全部
show global variables;
查看單個
show global variables like 'port';
數(shù)據(jù)庫備份
1.導(dǎo)出整個數(shù)據(jù)庫
導(dǎo)出文件默認是存在mysql\bin目錄下
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.導(dǎo)出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 沒有數(shù)據(jù) –add-drop-table 在每個create語句之前增加一個drop table
4.帶語言參數(shù)導(dǎo)出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
例如搞监,將aaa庫備份到文件back_aaa中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa