標籤:指定位置 欄位名 net noi ddr inf ps1 load ima
1.?資料庫初始化配置1.1.?建立資料庫
create database apps character set utf8 collate utf8_bin;
建立資料庫”app“,指定編碼為utf8
1.2.?建立使用者
create user ‘apps‘@‘localhost‘ identified by ‘12345‘;
建立使用者apps,密碼12345,設定只能從localhost訪問本地MySQL
create user ‘apps1‘ identified by ‘12345‘;
使用者apps1可以從任意的域或主機訪問當前MySQL
1.3.?配置使用者權限
grant all privileges on apps.* to ‘apps‘@‘localhost‘;
賦予使用者apps從localhost登陸MySQL時,資料庫apps裡所有表的全部許可權
grant的14個許可權 select, insert, update, delete, create, drop, index, alter, grant, references, reload, shutdown, process, file
grant select, insert, update, delete, create, drop on CTD.posts to [email protected] identified by ‘obligingneighbor‘;
指定單個表的部分許可權
grant all privileges on *.* to ‘admin‘@‘127.0.0.1‘ identified by ‘administrator‘; 賦予所有資料庫的全部許可權
1.4.?重新整理許可權表
flush privileges;quit; // 退出
1.5.?使用者管理1.5.1.?直接向mysql.user表插入記錄:
insert into user (host,user,password) values (‘%‘,‘jss_insert‘,password(‘jss‘));flush privileges;
1.5.2.?修改mysql使用者密碼方式:
使用mysqladmin文法 mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
例: mysqladmin -u root -p 123 password 456;
直接修改user表的使用者口令
文法:update mysql.user set password=password(‘新密碼‘) where User="username" and Host="localhost";
update user set password=password(‘54netseek‘) where user=‘root‘;flush privileges;
- 使用SET PASSWORD語句修改密碼 文法:
SET PASSWORD FOR ‘username‘@‘host‘ = PASSWORD(‘newpassword‘); 如果是更改當前登陸使用者的密碼,用SET PASSWORD = PASSWORD("newpassword"); 執行個體:
set password for [email protected]=password(‘‘);SET PASSWORD FOR name=PASSWORD(‘new password‘);SET PASSWORD FOR ‘pig‘@‘%‘ = PASSWORD("123456");
1.5.3.?刪除使用者和撤銷許可權:
取消授權使用者
文法:REVOKE privilege ON databasename.tablename FROM ‘username‘@‘host‘;
例子:
REVOKE SELECT ON *.* FROM ‘pig‘@‘%‘;REVOKE SELECT ON test.user FROM ‘pig‘@‘%‘;revoke all on *.* from [email protected] ;revoke all on user.* from ‘admin‘@‘%‘;SHOW GRANTS FOR ‘pig‘@‘%‘; //查看授權
刪除使用者: 文法: delete from user where user = "user_name" and host = "host_name" ;
例子:delete from user where user=‘sss‘ and host=‘localhost‘;
2.?資料庫管理2.1.?查看所有資料庫
資料庫預設目錄:/usr/local/mysql/data
SHOW DATABASES; // 顯示資料庫USE abccs // 進入資料庫SHOW TABLES; // 顯示表DESCRIBE mytable; // 顯示表結構CREATE DATABASE abccs; // 建立一個資料庫CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20)); //建立表
2.2.?插入資料
使用INSERT語句
insert into mytable values (‘abccs’,‘f’,‘1977-07-07’,‘china’);
使用文本方式插入資料
mysql.txt內容:
abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa
將資料檔案匯入表 pet: LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;
2.3.?修改資料庫或表設定
drop database drop_database; //刪除一個已經確定存在的資料庫alter table 表名 ENGINE=儲存引擎名; //修改表的儲存引擎alter table 表名 drop 屬性名稱; //刪除欄位alter table 舊錶名 rename to 新表名; //修改表名alter table 表名 modify 屬性名稱 資料類型; //修改欄位資料類型alter table 表名 change 舊屬性名稱 新屬性名稱 新資料類型; //修改欄位名alter table 表名 drop FOREING KEY 外鍵別名; //刪除子表外鍵約束
2.4.?修改表欄位
alter table example add phone VACGAR(20); //增加無約束的欄位alter table example add age INT(4) NOT NULL; //增加非NULL的欄位alter table example add num INT(8) PRIMARY KEY FIRST; //表的第一個位置增加欄位alter table example add address VARCHAR(30) NOT NULL AFTER phone; //表的指定位置之後增加欄位alter table example modify name VARCHAR(20) FIRST; //把欄位移動到第一位alter table example modify num INT(8) AFTER phone;//把欄位移動到指定欄位之後
MySQL資料庫常用操作文法