背景:本人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');