MySQL远程连接:
MySQL:5
第一步:登陆MySQL
[root@localhost mysql]# mysql -uroot -p123456
第二步:设置远程访问账号
mysql> use mysql;
mysql> select host,user,password from user;
mysql> grant all privileges on *.* to root@'%' identified by "password";
password
为你 MySQL
数据库中 root
账户的密码
第三步:刷新权限立即生效
flush privileges;
MySQL:8
MySQL:8
加密方式为caching_sha2_password
需要把Native
访问的账户密码加密方式更改为mysql_native_password
加密,才能进行Native
访问
第一步:登陆MySQL
[root@localhost mysql]# mysql -uroot -p123456
第二步:设置远程访问账号
mysql> use mysql;
mysql> select host,user from user;
mysql> update user set host='%' where user='root'; # 设置root账户访问权限为% ,远程所有IP都能访问。一般会默认设置
mysql> alter user 'root'@'%' identified with mysql_native_password by 'password';
password
为你 MySQL
数据库中 root
账户的密码
第三步:刷新权限立即生效
flush privileges;
设置 mysql 最大上传参数
查看目前配置:
show VARIABLES like '%max_allowed_packet%';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
修改方法
1、修改配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
linux下该文件在/etc/下。
2、在mysql命令行中修改
在mysql 命令行中运行:
set global max_allowed_packet = 2*1024*1024*10
然后退出命令行,重启mysql服务,再进入。
show VARIABLES like '%max_allowed_packet%';
mysql 执行语句的实时查询
-
正在执行的sql语句
使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到。好处是不用设置,不会保存。
use information_schema; show processlist; 或者: select * from information_schema.PROCESSLIST where info is not null; // 有结果返回 select * from information_schema.PROCESSLIST; // 全部查询
- 开启日志模式
在查询到所需要的记录之后,应尽快关闭日志模式,占用磁盘空间比较大
2.2 设置
– SET GLOBAL log_output = ‘TABLE’;SET GLOBAL general_log = ‘ON’; //日志开启
– SET GLOBAL log_output = ‘TABLE’; SET GLOBAL general_log = ‘OFF’; //日志关闭
2.2 查询
SELECT * from mysql.general_log ORDER BY event_time DESC;
2.2 清空表(delete对于这个表,不允许使用,只能用truncate)
– truncate table mysql.general_log;
在查询sql语句之后,在对应的 C:\Program Files\MySQL\MySQL Server 5.7\data 文件夹下面有对应的log记录