mysql 不能遠程連接

背景:本人linux用的不太熟、結果mysql被部署在linux上、

 

 

---進入mysql提示符

mysql -h127.0.0.1  -uroot -p1234;

--使用數據庫

use cmxt;

--查詢user表

select host, user from user;

 

--重設root的密碼,這個數據庫被他們公司打包了,只給了我一個非管理員賬戶,但是我可以重設root密碼,用root來登錄,太絕了

UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

 

--設置coremail用戶可以被哪些地址訪問、

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '2075169284' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'159.226.244.11' IDENTIFIED BY '2075169284' WITH GRANT OPTION;

 

--修改iptables文件,在文件最後加入第二行記錄,把防火牆3308的端口打開

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3308 -j ACCEPT

 

---修改root的權限可以被哪些其他地址訪問

update user set host = '%'  where user = 'root'

update user set host = '127.0.0.1'  where user = 'root'
flush privileges

 

---查看服務器的數據庫用戶

cat /home/coremail/bin/mysql_cm

結果

-uroot -p1234 -h127.0.0.1 -P3308

 

--cmd查看端口開發情況

telnet 127.0.0.1  3308

ping 127.0.0.1  看是否能ping通

 

 

--修改ERROR 1042 (HY000): Can't get hostname for your address 錯誤

可以修改etc/my.cnf中的配置文件,在[mysqld]下追加“skip-name-resolve”  即可,別忘記重啓mysql哦!!

對於mysql和項目一起打包的,配置文件的位置可能不是這個地方。

 

--修改Access denied for user root@'127.0.0.1' (using password: YES)

可以利用user表給root添加一個對應的host即可

Insert INTO user ( Host , User , Password , Select_priv , Insert_priv , Update_priv , Delete_priv , Create_priv , Drop_priv , Reload_priv , Shutdown_priv , Process_priv , File_priv , Grant_priv , References_priv , Index_priv , Alter_priv , Show_db_priv , Super_priv , Create_tmp_table_priv , Lock_tables_priv , Execute_priv , Repl_slave_priv , Repl_client_priv , ssl_type , ssl_cipher , x509_issuer , x509_subject , max_questions , max_updates , max_connections ) VALUES ('127.0.0.1', 'root', PASSWORD( '1234' ) , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');

 

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