MySQL的登录、密码更改
目录
MySQL登录:参考页面
本地登录:
Tips:要先进行环境配置(将’C:\Program Files\MySQL\MySQL Server 8.0\bin‘放入path下)
方法一->mysql -u 用户名 -p
方法二->mysql -h localhost -u 用户名 -p
方法三->mysql -h 本地iP地址 -u 用户名 -p
远程登录:
1:登录授权
方法一(改表法):
登录mysql后,更改mysql库中’user‘表中的’host‘项,将’localhost‘改为'%'
先输入'use mysql'进入mysql库中,再输入select host,user from user;
update user set host = '%' where user = 'root';
方法二(授权法):
允许某个用户在任何主机可以访问mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
%表示任何主机
例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES;
允许某个用户在在指定的主机可以访问mysql服务器,在指定主机以外的主机则无法访问数据库:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'指定主机的IP地址'IDENTIFIED BY '密码' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES;
2:查看MySQL数据库端口
mysql -u 用户名 -p
->password
show global variables like 'port';
3:远程连接数据库:
mysql -h mysql服务器的IP地址 -P 端口号(通常为3306) -u 用户名 -p密码
-h: mysql服务器的IP地址
-P: 大写的P选项表示端口号,端口号默认为3306,可省略
-u: 用户名
-p: 小写的p表示密码,当-p后输入密码时,会直接登陆。当-p后不输入密码时,会要求输入密码,但密码不显示
如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”
mysql -h 192.168.5.116 -P 3306 -u root -p123456 //显示密码登陆
mysql -h 192.168.5.116 -P 3306 -u root -p //隐藏密码登陆
Enter password:
MySQL修改密码:参考页面
方法一(使用SET PASSWORD命令):
输入命令 mysql -u root -p 指定root用户登录MySQL’
使用 SET PASSWORD 修改密码,命令格式为set password for username @localhost=password(newpwd);
Tips:其中 username 为要修改密码的用户名,newpwd 为要修改的新密码
输入quit;命令退出 MySQL 重新登录
方法二(使用mysqladmin修改):
使用 mysqladmin 命令修改 MySQL 的 root 用户密码格式为 mysqladmin -u用户名 -p旧密码 password 新密码。
注意:下图修改密码的命令中 -uroot 和 -proot 是整体,不要写成 -u root -p root,-u 和 root 间可以加空格,但是会有警告出现,所以就不要加空格了。
方法三(UPDATE 直接编辑user表):
输入命令mysql -u root -p指定 root 用户登录 MySQL
输入use mysql;命令连接权限数据库
输入命令update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';设置新密码。
输入 flush privileges; 命令刷新权限
输入 flush privileges; 命令刷新权限
添加约束:参考页面
ALTER TABLE 表名 WITH NOCHECK ADD CONSTRAINT 约束名 约束类型 具体的约束说明;
删除约束:
alter table 表名 drop constraint 约束名;
DataGrip连接MySQL数据库问题:
1:DataGrip连接出错
出错原因:mysql默认的是0时区,时区问题导致连接失败
方法一:
解决方法:在连接URL尾部加上 ?serverTimezone=UTC
?serverTimezone=UTC
方法二:
解决方法:
查看当前全局时区
show variables like '%time_zone%';
session时区
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
查看是否'+8:00',不是则修改
set global time_zone="+8:00";
最后重启mysql服务器:
MySQL服务名称默认是mysql80
net stop mysql80
net start mysql80