mysql常用命令+解決mysql不用用戶名和密碼可以直接登陸的問題

     1、增加了密碼後的登錄格式如下:    mysql -u root -p

2、修改登錄密碼 1) mysqladmin -u用戶名 -p舊密碼 password 新密碼      例:mysqladmin -u root password 21century    注:因爲開始時root沒有密碼,所以-p舊密碼一項就可以省略了。 2)直接修改user表的root用戶口令:   mysql> user mysql;   mysql> update user set pasword=password('21century') where user='root';   mysql> flush privileges;   注:flush privileges的意思是強制刷新內存授權表,否則用的還是緩衝中的口令。

3、測試密碼是否修改成功   1)不用密碼登錄  [root@test1 local]# mysql  ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)  顯示錯誤,說明密碼已經修改。  2)用修改後的密碼登錄  [root@test1 local]# mysql -u root -p   Enter password: (輸入修改後的密碼21century)  Welcome to the MySQL monitor. Commands end with ; or \g.    Your MySQL connection id is 177 to server version: 3.23.48    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  mysql>  成功!  這是通過mysqladmin命令修改口令,也可通過修改庫來更改口令

4、啓動和停止   啓動:Mysql從3.23.15版本開始作了改動,默認安裝後服務要用mysql用戶來啓動,不允許root用戶啓動。         如果非要用root用戶來啓動,必須加上--user=root參數         (./safe_mysqld --user=root &)   停止:mysqladmin -u root -p shutdown  

5、導出meeting數據庫:    mysqldump -uroot -p21century meeting > db_meeting.sql   導人dbname數據庫    mysqldump -uroot -p21century dbname < xxx.sql      導入數據庫還可用類似於oracle中@my_script.sql的方式一次執行大量sql語句,這在使用mysqldump不起作用時非常有用。   例:#./mysql -uroot -p < /home/xuys/db_meeting_2003.sql    (注:create database、use databasename、create table和insert into語句都可寫在上面的腳步文件中)    

6、給表改名    RENAME TABLE ztemp TO ztemp4;

7、修改字段屬性    ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;

8、在表中的content後增加一字段    ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER content;

9、增加用戶    GRANT select,update,insert ON 數據庫名.* TO 用戶名@登錄主機 identified by "密碼"           例:grant select,update,insert,delete on *.* to test@dev identified by "abc";

10、只需本機使用Mysql服務,在啓動時還可以加上--skip-networking參數使Mysql不監聽任何TCP/IP連接
    (./safe_mysqld --skip-networking &),增加安全性。(非常推薦)  

11、忘記root密碼怎麼辦?    在啓動Mysql服務器時加上參數--skip-grant-tables來跳過授權表的驗證    (./safe_mysqld --skip-grant-tables &),這樣我們就可以直接登陸Mysql服務器,


    然後再修改root用戶的口令,重啓Mysql就可以用新口令登陸了。

12、解決mysql不用用戶名和密碼可以直接登陸的問題:
mysql>use mysql;
mysql>delete from user where user='';
mysql>flush privileges; (必須的)


/////////////////////////////

MYSQL1130錯誤的解決方案

在用遠程連接Mysql服務器的數據庫,不管怎麼弄都是連接不到,錯誤代碼是1130,ERROR 1130: Host 10.0.0.1  is not allowed to connect to this MySQL server
猜想是無法給遠程連接的用戶權限問題。

結果這樣子操作mysql庫,即可解決。

在本機登入mysql後,更改 “mysql” 數據庫裏的 “user” 表裏的 “host” 項,從”localhost”改稱'%'。。
mysql -u root -p
mysql&gt;use mysql;
mysql&gt;select 'host' from user where user='root';
mysql&gt;update user set host = '%' where user ='root';
mysql&gt;flush privileges;
mysql&gt;select 'host'   from user where user='root';



第一句是以權限用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統權限相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。



mysql 遇到 ERROR 1044 (42000):Access denied for user 的解決方案
2011-05-05 11:51

這個問題主要是因爲授權用戶本身的權限不足引起的。我們以root用戶爲例,需要注意到地方有以下幾個方面:

1.MySQL的user表很重要。必須保證root用戶在user表裏面有兩條記錄,也就是
root localhost ……..
root 127.0.0.1 …….

2.保證root用戶擁有所有權限,也就是user表裏面的所有字段裏面對應的內容是Y

3.在my.ini後者my.cnf裏面有這個配置項的時候
bind-address=localhost
啓用這個配置項可以保證安全

4.在服務器上運行MySQL的時候,爲了安全起見,儘量不要給user表裏面的host字段賦予%權限.

保證以上幾點沒有問題的情況下,這個錯誤基本可以避免

 

另外如果用戶不能進入mysql系統,可以用這種方法進入:

如果 MySQL 正在運行,首先停止。
啓動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章