mysql服務器本地root用戶默認沒有密碼,使用 "mysql -u root -p" 便可登錄。
linux本地用戶能夠以任意用戶名登錄mysql,可是沒有任何權限,沒有意義。
mariadb中使用用戶名時若是不加上host,默認爲 '%' ,這樣本地操做時會形成用戶的建立,因此最好對用戶操做時加上 @'localhost'。
全部的數據庫名,表名,是區分大小寫的,表中的字段名稱不區分大小寫。
grant resource,connect to username; //oracle中能夠吧。
不能使用 grant dba to username;
grant all privileges on testDB.* to test@localhost identified by '1234'; //自動建立用戶
show grants [ for Wizard [ @'localhost' ]]; //默認當前用戶
select current_user(); //顯示當前登錄用戶名。
select user();
select database(); //顯示當前數據庫。
show create table [tablename]; //顯示建立表時的字段名和屬性
root權限下建立的用戶默認host爲「%」,這樣在本地登錄時會優先使用本地用戶,建立的用戶不能在本地登錄,由於mysql.user表host項有localhost而user爲空。解決辦法是將建立的用戶的host改成localhost,這樣就能夠在本地登錄了,固然這樣就不能使用他進行遠程登錄了。
MySql中添加用戶,新建數據庫,用戶受權,刪除用戶,修改密碼(注意每行後邊都跟個;表示一個命令語句結束):
1.新建用戶
登陸MYSQL:
$>mysql -u root -p
$>密碼
建立用戶:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
這樣就建立了一個名爲:test 密碼爲:1234 的用戶。
注意:此處的"localhost",是指該用戶只能在本地登陸,不能在另一臺機器上遠程登陸。若是想遠程登陸的話,將"localhost"改成"%",表示在任何一臺電腦上均可以登陸。也能夠指定某臺機器能夠遠程登陸。
而後登陸一下:
mysql>exit;
$>mysql -u test -p
$>輸入密碼
mysql>登陸成功
2.爲用戶受權
受權格式:grant 權限 on 數據庫.* to 用戶名@登陸主機 identified by "密碼";
登陸MYSQL(有ROOT權限),這裏以ROOT身份登陸:
$>mysql -u root -p
$>密碼
首先爲用戶建立一個數據庫(testDB):
mysql>create database testDB;
受權test用戶擁有testDB數據庫的全部權限(某個數據庫的全部權限):
mysql>grant all privileges on testDB.* to test$localhost identified by '1234';
mysql>flush privileges; //刷新系統權限表
格式:grant 權限 on 數據庫.* to 用戶名$登陸主機 identified by "密碼";
指定部分權限給一用戶,能夠這樣來寫:
mysql>grant select,update on testDB.* to test$localhost identified by '1234';
mysql>flush privileges; //刷新系統權限表
受權test用戶擁有全部數據庫的某些權限:
mysql>grant select,delete,update,create,drop on *.* to test$"%" identified by "1234";
//test用戶對全部數據庫都有select,delete,update,create,drop 權限。
//$"%" 表示對全部非本地主機受權,不包括localhost。(localhost地址設爲127.0.0.1,若是設爲真實的本地地址,不知道是否能夠,沒有驗證。)
//對localhost受權:加上一句grant all privileges on testDB.* to test$localhost identified by '1234';便可。
3.刪除用戶
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //刪除用戶的數據庫
刪除帳戶及權限:
>drop user 用戶名@'%';
>drop user 用戶名@'localhost';
4.修改指定用戶密碼
mysql>update mysql.user set password=password('新密碼') where User="test" and Host="localhost";
mysql>flush privileges;
5.列出全部數據庫
mysql>show database;
6.切換數據庫
mysql>use '數據庫名';
7.列出全部表
mysql>show tables;
8.顯示數據表結構
mysql>describe 表名;
9.刪除數據庫和數據表
mysql>drop database 數據庫名;
mysql>drop table 數據表名;mysql