目录

MySQL登录:参考页面

本地登录:

远程登录:

MySQL修改密码:参考页面

[ 方法一(使用SET PASSWORD命令):](https://www.cnblogs.com/YuKiFuHaNe/p/17131895.html# 方法一(使用SET PASSWORD命令):)

[ 方法二(使用mysqladmin修改):](https://www.cnblogs.com/YuKiFuHaNe/p/17131895.html# 方法二(使用mysqladmin修改):)

[ 方法三(UPDATE 直接编辑user表):](https://www.cnblogs.com/YuKiFuHaNe/p/17131895.html# 方法三(UPDATE 直接编辑user表):)

DataGrip连接MySQL数据库问题:

1:DataGrip连接出错


MySQL登录:参考页面

本地登录:

​ Tips:要先进行环境配置(将’C:\Program Files\MySQL\MySQL Server 8.0\bin‘放入path下)

1
2
3
4
5
方法一->mysql  -u 用户名 -p

方法二->mysql -h localhost -u 用户名 -p

方法三->mysql -h 本地iP地址 -u 用户名 -p

fa41eba5f6e044d891407949b958a8d4.png

远程登录:

1:登录授权

​ 方法一(改表法):

​ 登录mysql后,更改mysql库中’user‘表中的’host‘项,将’localhost‘改为’%’

​ 先输入’use mysql’进入mysql库中,再输入select host,user from user;25a93161a799424d8332fe8bff666fe8.png

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

d0ef51007f4c479cb114eb49d6672ccc.png

​ 方法二(授权法):
​ 允许某个用户在任何主机可以访问mysql服务器:

​

1
2
3
4
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

%表示任何主机

​ 例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

1
2
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

​ 允许某个用户在在指定的主机可以访问mysql服务器,在指定主机以外的主机则无法访问数据库:

1
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'指定主机的IP地址'IDENTIFIED BY '密码' WITH GRANT OPTION;

  如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

1
2
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

2:查看MySQL数据库端口

1
2
3
4
mysql -u 用户名 -p
->password

show global variables like 'port';

3:远程连接数据库:

​

1
2
3
4
5
6
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”

1
mysql -h 192.168.5.116 -P 3306 -u root -p123456   //显示密码登陆
1
2
mysql -h 192.168.5.116 -P 3306 -u root -p    //隐藏密码登陆
Enter password:

MySQL修改密码:参考页面

方法一(使用SET PASSWORD命令):

​

1
2
3
4
5
6
输入命令 mysql -u root -p 指定root用户登录MySQL’

使用 SET PASSWORD 修改密码,命令格式为set password for username @localhost=password(newpwd);
Tips:其中 username 为要修改密码的用户名,newpwd 为要修改的新密码

输入quit;命令退出 MySQL 重新登录

方法二(使用mysqladmin修改):

1
2
3
使用 mysqladmin 命令修改 MySQL 的 root 用户密码格式为 mysqladmin -u用户名 -p旧密码 password 新密码。

注意:下图修改密码的命令中 -uroot 和 -proot 是整体,不要写成 -u root -p root,-u 和 root 间可以加空格,但是会有警告出现,所以就不要加空格了。

方法三(UPDATE 直接编辑user表):

1
2
3
4
5
6
7
8
9
输入命令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

338a31f274c6494595a402d5822f8d36.png

1
?serverTimezone=UTC

方法二:

​ 解决方法:

​ 查看当前全局时区

1
show variables like '%time_zone%';

​ session时区

1
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;

​ 查看是否’+8:00’,不是则修改

1
set global time_zone="+8:00";

​ 最后重启mysql服务器:

1
2
3
4
5
MySQL服务名称默认是mysql80

net stop mysql80

net start mysql80

日志

Mysql日志文件开启、配置、查看

  • mysql.log是mysql的日志文件,里面记录的对MySQL数据库的操作记录。默认情况下mysql的日志文件没有产生,需要修改mysql的配置文件,步骤如下:

1. 找到配置文件位置

1
2
3
4
5
6
7
8
mysql> show variables like 'datadir';
+---------------+---------------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------------+
| datadir | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ |
+---------------+---------------------------------------------+
1 row in set, 1 warning (0.00 sec)
找到:C:\ProgramData\MySQL\MySQL Server 8.0\Data\my.ini

2.查看是否已经打开日志(默认打开)

1
2
3
4
5
6
7
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set, 1 warning (0.07 sec)

3.打开/关闭日志功能

  • 第1步查到的目录,在其中找到my.ini,
  • 关闭:加上skip-log-bin 和 disabled-log-bin 即可
  • 打开:注释掉skip-log-bin 和 disabled-log-bin 即可

重启mysql服务即生效

1
2
3
4
5
6
windows
net start mysql80
net start mysql

linux
sudo service mysql restart

4. 打开MySQL的日志文件。

日志文件位置可据下推出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# General and Slow logging.
log-output=FILE
general-log=0
general_log_file="0H6IZJBSR3WV8F7.log"
slow-query-log=1
slow_query_log_file="0H6IZJBSR3WV8F7-slow.log"
long_query_time=10

# Binary Logging.
log-bin="0H6IZJBSR3WV8F7-bin"

# Error Logging.
log-error="0H6IZJBSR3WV8F7.err"

# Server Id.
server-id=1

5. mysql日志文件所在位置:

1
2
3
4
5
windows:
C:\ProgramData\MySQL\MySQL Server 8.0\Data\0H6IZJBSR3WV8F7.log

linux:
/var/log/mysql/mysql.log

5. 使用下面的命令可以实时查看mysql的日志文件:

windows直接打开上步文件即可

1
sudo tail -f /var/log/mysql/mysql.log