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