Linux MySQL 基本操作 http://www.bieryun.com/3242.html
連接配接到MySQL
連接配接到本機上的MySQL
mysql -u username -p 回車後輸入密碼
連接配接到遠端主機上的MySQL
mysql -h主機位址 --port=端口号 -u username -ppassword
開啟遠端通路權限
授權法
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
flush privileges;
%:表示在任何用戶端機器上都能遠端通路,也可指定具體ip。
username:表示能以username使用者登入到MySQL伺服器。
ALL PRIVILEGES :表示賦予所有權限
改表法
use mysql;
update user set host='%' where user='username';
檢視授權
show grants for test;
select * from mysql.user where user='test'\G;
修改root使用者密碼
使用mysqladmin
mysqladmin -uroot password "newpassword"
如果root使用者已經設定過密碼,則
mysqladmin -uroot password oldpassword "newpassword"
修改user表
use mysql;
update user set password=password("newpassword") where user='root';
flush privileges;
alter語句
flush privileges;
set password語句
set password=password("newpassword")
flush privileges;
root忘記密碼破解方法
- 停止mysql服務
service mysqld stop
- 用以下指令啟動mysql,以不檢查權限的方式啟動
mysqld_safe --skip-grant-tables &
- 使用空密碼方式使用root使用者登入mysql
mysql -uroot -p 回車
- 修改root使用者的密碼
use mysql
update user set password=password("newpassword") where user='root';
flush privileges;
quit
- 重新開機mysql服務
service mysqld restart
- root使用者使用新密碼進行登入
- mysql -uroot -p 回車輸入新密碼、
資料庫
- 顯示資料庫
show databases;
- 建立資料庫
create database db_name;
- 選擇資料庫
use db_name;
- 删除資料庫
drop database db_name;
表
- 建立表
create table scutech (id int not null AUTO_INCREMENT,name varchar(20) not null,tel char(11),current_time timestamp default current_timestamp,primary key (id));
- 顯示資料庫中的表
show tables;
- 檢視表結構
desc table_name;
- 檢視表詳細結構語句
show create table table_name;
- 向表中插入記錄
insert into scutech(name) values("zhou");
将查詢到的結果插入表中
insert into table_name(屬性1,屬性2,...,屬性n) select 屬性清單 from 表名2 where 條件表達式
- 檢視表中記錄
select * from scutech;
- 計算表中記錄數
select count(*) from scutech;
- 更新表中記錄
update scutech set name="zhang" where id=1;
- 删除表中記錄
delete from scutech where id=1;
修改表結構
- 重命名表
alter table scutech rename newscutech;
ALTER TABLE 表名 ADD 字段名 1 資料類型 [完整性限制條件] [FIRST|AFTER 屬性名 2];
alter table scutech add t1 char(10);
alter table scutech add sex enum ("boy","girl") default "boy" after name ;
-
修改字段名change (原字段名 新字段名 類型)
ALTER TABLE 表名 CHANGE 原字段名 新字段名 新資料類型;
alter table scutech change tel phone_num char(11);
-
删除字段drop
ALTER TABLE 表名 DROP 字段名;
alter table scutech drop name,drop sex;
-
修改字段類型modify,不能與字段已存儲的資料沖突
ALTER TABLE 表名 MODIFY 字段名 資料類型;
alter table scutech modify sex enum("boy","girl","no") not null default "no";
- 修改表的存儲引擎
alter table scutech engine=innodb;
- 删除表的外鍵限制
alter table table_name drop foreign key 外鍵名;
資料庫引擎
show engines \G
show variables like '%engine%';
innodb引擎
最常用,支援事務,復原,自增,外鍵
表結構存在.frm 檔案中
資料和索引存在表空間中
讀寫效率稍差,占用空間大
myisam
.myd 存儲資料
.myi 存儲索引
快速,占空間小,丌支援事務和幵収