首页 > 数据库 >MySQL远程登录的设置

MySQL远程登录的设置

时间:2023-05-17 19:11:12浏览次数:39  
标签:新密码 cloudSpring091845 登录 MySQL user mysql root 远程 localhost

MySQL远程登录的设置

云平台上安装了MySQL docker环境后,需要进行远程登录的设置。MySQL镜像为8.0(8.0以下的设置有一些区别),数据库用户为root。
mysql -u root -p (输入初始密码登录123456)

#create user root@'%' identified by 'cloudSpring091845@#';
update user set host = '%' where user = 'root';
#grant all privileges on to 'root'@'%' ;
flush privileges; #刷新权限
alter user 'root'@'%' identified with mysql_native_password by 'password';

 

这个时候在客户端填充对应的host公网IP地址、root和password(cloudSpring091845@#)就可以进行访问了。
现在存在一个问题,就是你在云主机的shell上,会出现:
mysql -u root -p 是旧密码(123456)
mysql -u localhost - u root -p 是旧密码(123456)
mysql -u 127.0.01 -u root -p是新密码(cloudSpring091845@#)
mysql -u 内网IP地址 -u root -p是新密码(cloudSpring091845@#)
mysql -u 外网IP地址 -u root -p是新密码(cloudSpring091845@#)

select host, user, authentication_string from user;
会发现root对应两个用户%和localhost,且authentication_string不一样。

这个时候可以通过sql修改localhost/root对应的authentication_string,修改后
使用mysql -u root -p就可以使用新密码登录了,与其他的保持一致。

但是存在一个问题(原因不明),select host, user, authentication_string from user;
看到的密码仍然不一样,虽然localhost能用相同的新密码登录,重启主机和服务也不行。

解决方式如下:
//root用户(数据库用户)对应的密码置为空
update user set authentication_string=‘’ where user=‘root’;
//localhost(访问数据库的主机)
alter user root@‘localhost’ identified with mysql_native_password by ‘cloudSpring091845@#’;
//% (访问数据库的任意主机,不包括localhost)
alter user root@‘%’ identified with mysql_native_password by ‘cloudSpring091845@#’;
flush privileges;
做完后,得到结果:
能远程登录
本地shell的localhost能用新密码登录
在数据库中查看,localhost与%的authentication_string相同。 

 

标签:新密码,cloudSpring091845,登录,MySQL,user,mysql,root,远程,localhost
From: https://www.cnblogs.com/2324hh/p/17409801.html

相关文章

  • mysql只有frm和ibd文件下如何恢复(表引擎为innodb)
    环境:OS:Centos7DB:mysql5.6说明:主库已经无法启动,表的引擎为innodb下面操作是在新服务器安装与原库同版本的db下进行 ###################已知表结构的情况######################1.创建同结构的表CREATETABLE`ad`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`......
  • Mysql--数据的导入导出以及备份
    一、导入导出1.1、intooutfile(只导出数据)注意:mysql5.7+版本,secure_file_priv的值默认为NULL,即不允许导入或导出,需在/etc/my.cnf添加  secure_file_priv='' 或者  secure_file_priv='指定目录'  ,重启mysql1.1.1导出select*fromtable_nameintooutfile'f......
  • CentOS下安装vncserver进行远程桌面控制
    CentOS下安装vncserver进行远程桌面控制yumgroupinstall-y"XWindowSystem""Desktop""ChineseSupport"yumgroupinstall-y"DesktopPlatform""DesktopPlatformDevelopment""Fonts""InternetBrowser&q......
  • mysql 调优-Sys schema 分析
    索引情况--查询冗余索引(比如对于name字段创建了一个单列索引,有创建了一个name和code的联合索引)select*fromsys.schema_redundant_indexes;--查询未使用过的索引select*fromsys.schema_unused_indexes;--查询索引的使用情况selectindex_name,rows_selected......
  • MySQL学习基础篇Day2
    2.5DMLDML英文全称是DataManipulationLanguage(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。添加数据(INSERT)修改数据(UPDATE)删除数据(DELETE)2.5.1添加数据1).给指定字段添加数据INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,.......
  • mysql 调优-EXPLAIN 命令
    一条sql的执行,会生成一个执行计划,这个执行计划是优化器认为最优的,然后执行器再执行这个执行计划执行计划只是优化器自认为最优,不见得就是最优的执行计划里面包括:可用的索引,真正用到的索引,表的读取顺序,每张表有多少行被优化等等EXPLAIN和DESCRIBE效果一样EXPLAIN每个......
  • DML语句 ------- mysql增删改
    DML语句1、插入(insert)insertinto表values(数据)---------要求插入数据的数量,类型要和表的结构一致insertinto表(列名)values(数据)-----------要求插入的数据的数量顺序和表名后的列要一致insertinto表(列名)select------......
  • Mysql事务详解
    事务数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成事务指的是数据库一种保护数据的方式事务一般由增删改操作自动调用,事务根据数据库不同提交的时机也是不同的MySQL数据库默认执行增删改就会提交事务我们可以设置为手动提交set@@autocommit=0;......
  • mysql 调优-sql 优化
    连接查询原理涉及到indexnested-loopjoin,blocknested-loopjoin,joinbuffersize,hashjoin(mysql8)等,感觉没必要记那么多需要知道会一次性把驱动表的数据加载到内存中(如果joinbuffersize放得下),然后循环每个驱动表去对比被驱动表的数据就好了保证被驱动表的JOIN字......
  • mysql 调优-索引失效
    范围条件放最后面,不管单列还是多列索引,把能过滤最多的索引放前面用不用索引最终都是优化器决定的,EXPLAINjson格式里的执行成本决定最左匹配,如果是联合索引,查找索引树的时候,只能根据第一个索引才能找到第二个第三个,如果顺序没对就不会走索引--联合索引(name,code,ad......