mysql經常使用命令及問題彙總

一、增長了密碼後的登陸格式以下:    mysql -u root -pmysql

二、修改登陸密碼
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的意思是強制刷新內存受權表,不然用的仍是緩衝中的口令。web

三、測試密碼是否修改爲功  
 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命令修改口令,也可經過修改庫來更改口令sql

四、啓動和中止  
 啓動:Mysql從3.23.15版本開始做了改動,默認安裝後服務要用mysql用戶來啓動,不容許root用戶啓動。        
 若是非要用root用戶來啓動,必須加上--user=root參數        
 (./safe_mysqld --user=root &)  
 中止:mysqladmin -u root -p shutdown 數據庫

五、導出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語句均可寫在上面的腳步文件中)   安全

六、給表更名    RENAME TABLE ztemp TO ztemp4;服務器

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

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

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

十、只需本機使用Mysql服務,在啓動時還能夠加上--skip-networking參數使Mysql不監放任何TCP/IP鏈接
    (./safe_mysqld --skip-networking &),增長安全性。(很是推薦) this

十一、忘記root密碼怎麼辦?   
在啓動Mysql服務器時加上參數--skip-grant-tables來跳過受權表的驗證    (./safe_mysqld --skip-grant-tables &),這樣咱們就能夠直接登錄Mysql服務器,
    而後再修改root用戶的口令,重啓Mysql就能夠用新口令登錄了。

十二、解決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;

相關文章
相關標籤/搜索