1insert 語句
首先要知道mysql有個user表專門儲存使用者資訊的,按說可以直接向 mysql.user表中插入new user,但是因為字段比較多,外加一些未知的限制,很容易出錯 (至少我還沒嘗試成功);並且如果使用這種方法建立新使用者,必須執行 flush privileges 來告訴server to reload the grant tables。
相關:1) 基本語法:
建立使用者:
//提示錯誤 ssl_cipher 沒有預設值,但是查詢user表 屬性是可為null;按照官方文件設定相應字段還是提示column count doesn't match value count at row 1 。insert into mysql.user (host,user,password)
->values('localhost','user_name',password('your_pwd'));
->flush privileges;
授予許可權:
2)user表:insert into db
->(host,db,user,select_priv,insert_priv,
->update_priv,delete_priv,create_priv,drop_priv)
->values('localhost','database_name','user_name',
->'y','y','y','y','y','y');
->flush privileges;
>desc mysql.user; //檢視表結構
>select * from mysql.user; //檢視所有的使用者
>select current_user; //檢視當前使用者和主機名
2create/grant 語句
以 root身份登陸,建立新使用者:
使用者名為dbuser_name,密碼為user_pwd
>mysql -u root -p
[input password]
建立+賦權的標準語法:grant select,insert,update,delete on 資料庫.* to 使用者名稱@登陸主機 identified by 'your_pwd'
>grant all on*.*to dbuser_name@"%"
identified by '[user_pwd]'
>grant all privileges on*.*to dbuser_name@localhost dentified by '[user_pwd]'
或分開》
create user
'使用者名稱'@'主機名' identified by 'your_pwd';
>grant all/[privileges] on 資料庫名.* to 使用者名稱@'主機名' ; //即允許某些ip位址的主機(可為遠端的主機)通過某使用者和密碼對mysql server上某資料庫進行某些許可權的訪問和操作,其中privileges包括select,insert,update,delete,create,drop
ps:關於主機名的萬用字元
%:指允許任何ip位址的主機訪問mysql server
172.1.1.%或%.mydomain.com :只允許匹配的主機訪問mysql
localhost:只允許本機訪問
附:遠端訪問
1)server端建立使用者和資料庫和允許訪問的主機(如上);關閉防火牆或其他可能限制訪問的設定
2)要進行遠端訪問的本機安裝mysql(或client工具);安裝myodbc驅動並做相關配置
3)mysql環境下進行遠端訪問 (>mysql -h [要訪問的mysql server的ip] -u [user_name] -p [password] )
3新使用者登入
cmd路徑:
c:\mysql\bin\mysql -h 伺服器ip -u dbuser_name -p
[input password]
>create database database_name;
>create table table_name;
4修改使用者密碼(root使用者下)
mysql>update mysql.user set password=password('新密碼') where user="user_name" and host="localhost"
mysql>flush privileges;
5刪除使用者(在root使用者下,保證具有刪除許可權)
mysql>delete from mysql.user where user="使用者名稱" and host="主機名";
官方文件參考
mysql學習筆記之十三(使用者變數)
在mysql中,你可以將select語句的返回值賦給乙個使用者自定義變數,並且可以在你之後的mysql會話中使用該變數。這為儲存一條語句的返回結果然後在其他的語句中引用,提供了乙個方便的途徑。首先,讓我們看一下在select語句中賦值給使用者變數的語法 var name value 下面是乙個先在s...
mysql 建立使用者指令碼 Mysql使用者建立指令碼
我試圖自動化mysql使用者建立過程。我想到建立乙個包含mysql使用者建立語句的臨時檔案,那麼我會這樣稱呼 mysql u root proot 這裡是我的臨時檔案的內容 drop database if exists mytestdatabase create database mytestda...
2 筆記 MySQL學習 建立使用者及建立連線
2.筆記 mysql學習 建立使用者及建立連線 建立使用者如下 先用root登陸,如下 root使用者密碼修改命令如 setpassword for root localhost password ttssssi mysql u root p 然後建立使用者如下 mysql create user ...