Mysql安裝目錄
數據庫目錄
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相關命令
/usr/bin(mysqladmin mysqldump等命令)
啓動腳本
/etc/init.d/mysql(啓動腳本文件mysql的目錄)mysql
系統管理
鏈接MySQL
格式: mysql -h 主機地址 -u用戶名 -p用戶密碼
例 1:鏈接到本機上的 MySQL。
hadoop@ubuntu :~$ mysql -uroot -pmysql;
例 2:鏈接到遠程主機上的 MYSQL。
hadoop@ubuntu :~$ mysql -h 127.0.0.1 -uroot -pmysql;
修改新密碼
在終端輸入:mysql -u用戶名 -p密碼,回車進入Mysql。
> use mysql;
> update user set password=PASSWORD('新密碼') where user='用戶名';
> flush privileges; #更新權限
> quit; #退出sql
增長新用戶
格式:grant select on 數據庫.* to 用戶名@登陸主機 identified by '密碼'
舉例:
例 1:增長一個用戶 test1 密碼爲 abc,讓他能夠在任何主機上登陸,並對全部數據庫有
查詢、插入、修改、刪除的權限。首先用以 root 用戶連入 MySQL,而後鍵入如下命令:
mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql';
或者
grant all privileges on *.* to root@localhost identified by 'mysql';
而後刷新權限設置。
flush privileges;
例 2:若是你不想 root 有密碼操做數據庫「mydb」裏的數據表,能夠再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to root@localhost identified by '';
刪除用戶
hadoop@ubuntu:~$ mysql -u用戶名 -p密碼
mysql>delete from user where user='用戶名' and host='localhost';
mysql>flush privileges;
//刪除用戶的數據庫
mysql>drop database dbname;
數據庫操做
顯示全部的數據庫
mysql> show databases;(注意:最後有個 s)
建立數據庫
mysql> create database test;
鏈接數據庫
mysql> use test;
查看當前使用的數據庫
mysql> select database();
當前數據庫包含的表信息
mysql> show tables; (注意:最後有個 s)
刪除數據庫
mysql> drop database test;
表操做
備註:操做以前使用「use <數據庫名>」應鏈接某個數據庫。
建表
命令:create table <表名> (<字段名 1> <類型 1> [,..<字段名 n> <類型 n>]);
例子:
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
獲取表結構
命令: desc 表名,或者show columns from 表名
例子:
mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
刪除表
命令:drop table <表名>
例如:刪除表名爲 MyClass 的表
mysql> drop table MyClass;
插入數據
命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
查詢表中的數據
查詢全部行
mysql> select * from MyClass;
查詢前幾行數據
例如:查看錶 MyClass 中前 2 行數據
mysql> select * from MyClass order by id limit 0,2;
或者
mysql> select * from MyClass limit 0,2;
刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表 MyClass 中編號爲 1 的記錄
mysql> delete from MyClass where id=1;
修改表中數據
命令:update 表名 set 字段=新值,... where 條件
mysql> update MyClass set name='Mary' where id=1;
在表中增長字段
命令:alter table 表名 add 字段 類型 其餘;
例如:在表 MyClass 中添加了一個字段 passtest,類型爲 int(4),默認值爲 0
mysql> alter table MyClass add passtest int(4) default '0'
更改表名
命令:rename table 原表名 to 新表名;
例如:在表 MyClass 名字更改成 YouClass
mysql> rename table MyClass to YouClass;
更新字段內容
命令:update 表名 set 字段名 = 新內容
update 表名 set 字段名 = replace(字段名, '舊內容', '新內容');
例如:文章前面加入 4 個空格
update article set content=concat(' ', content);
數據庫導入導出
從數據庫導出數據庫文件
使用「mysqldump」命令
首先進入 DOS 界面,而後進行下面操做。
1)導出全部數據庫
格式:mysqldump -u [數據庫用戶名] -p -A>[備份文件的保存路徑]
2)導出數據和數據結構
格式:mysqldump -u [數據庫用戶名] -p [要備份的數據庫名稱]>[備份文件的保存路徑]
舉例:
例 1:將數據庫 mydb 導出到 e:\MySQL\mydb.sql 文件中。
打開開始->運行->輸入「cmd」,進入命令行模式。
c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql
而後輸入密碼,等待一會導出就成功了,能夠到目標文件中檢查是否成功。
例 2:將數據庫 mydb 中的 mytable 導出到 e:\MySQL\mytable.sql 文件中。
c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql
例 3:將數據庫 mydb 的結構導出到 e:\MySQL\mydb_stru.sql 文件中。
c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql
備註:-h localhost 能夠省略,其通常在虛擬主機上用。
3)只導出數據不導出數據結構
格式:
mysqldump -u [數據庫用戶名] -p -t [要備份的數據庫名稱]>[備份文件的保存路徑]
4)導出數據庫中的Events
格式:mysqldump -u [數據庫用戶名] -p -E [數據庫用戶名]>[備份文件的保存路徑]
5)導出數據庫中的存儲過程和函數
格式:mysqldump -u [數據庫用戶名] -p -R [數據庫用戶名]>[備份文件的保存路徑]
從外部文件導入數據庫中
1)使用「source」命令
首先進入「mysql」命令控制檯,而後建立數據庫,而後使用該數據庫。最後執行下面操做。
mysql>source [備份文件的保存路徑]
2)使用「<」符號
首先進入「mysql」命令控制檯,而後建立數據庫,而後退出 MySQL,進入 DOS 界面。最後執行下面操做。
mysql -u root –p < [備份文件的保存路徑]數據庫