在linux下安裝mysql請參考在linux系統中安裝mysql伺服器詳細步驟
1.建立使用者
//登入MYSQL
@>mysql -u root -p
@>密碼
//建立使用者
mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));
//重新整理系統權限表
mysql>flush privileges;
這樣就建立了一個名為:jeecn 密碼為:jeecn 的使用者。
//退出後登入一下
mysql>exit;
@>mysql -u jeecn -p
@>輸入密碼
mysql>登入成功
2.為使用者授權
//登入MYSQL(有ROOT權限)。我裡我以ROOT身份登入。
@>mysql -u root -p
@>密碼
//首先為使用者建立一個資料庫(jeecnDB)
mysql>create database jeecnDB;
//授權jeecn使用者擁有jeecn資料庫的所有權限
@>grant all privileges on jeecnDB.* to [email protected] identified by ‘jeecn’;
//重新整理系統權限表
mysql>flush privileges;
mysql>其它操作
//如果想指定部分權限給一使用者,可以這樣來寫:
mysql>grant select,update on jeecnDB.* to [email protected] identified by ‘jeecn’;
//重新整理系統權限表。
mysql>flush privileges;
mysql> grant 權限1,權限2,…權限n on 資料庫名稱。表名稱 to 使用者名@使用者位址 identified by ‘連接配接密碼’;
權限1,權限2,…權限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個權限。
當權限1,權限2,…權限n被all privileges或者all代替,表示賦予使用者全部權限。
當資料庫名稱。表名稱被*.*代替,表示賦予使用者操作伺服器上所有資料庫所有表的權限。
使用者位址可以是localhost,也可以是ip位址、機器名字、域名。也可以用’%’表示從任何位址連接配接。
‘連接配接密碼’不能為空,否則建立失敗。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123′;
給來自10.163.225.87的使用者jee配置設定可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的權限,并設定密碼為123。
mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123′;
給來自10.163.225.87的使用者jee配置設定可對資料庫vtdc所有表進行所有操作的權限,并設定密碼為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123′;
給來自10.163.225.87的使用者jee配置設定可對所有資料庫的所有表進行所有操作的權限,并設定密碼為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123′;
給本機使用者jee配置設定可對所有資料庫的所有表進行所有操作的權限,并設定密碼為123。
3.删除使用者
@>mysql -u root -p
@>密碼
mysql>DELETE FROM mysql.user WHERE User=”jeecn”
mysql>flush privileges;
//删除使用者的資料庫
mysql>drop database jeecnDB;
4.修改指定使用者密碼
@>mysql -u root -p
@>密碼
mysql>update mysql.user set password=password(‘新密碼’) where User=”jeecn” and Host=”localhost”;
mysql>flush privileges;
mysql>quit;
5.如果使用root無法連接配接本地庫的話:
提示:1045 access denied for user 'root'@'localhost' using password yes
前幾天都好好的,昨天沒弄,結果今天晚上過來提示上面的這個錯誤,重新開機mysql還是不可以
網上的方法看了幾個但是不知道怎麼弄
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf檔案中[client]節提供的使用者名和密碼:
# mysql -udebian-sys-maint -p
Enter password: <輸入[client]節的密碼>
mysql> UPDATE mysql.user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>