icymon Pages

MySQL命令

MySQL 备份和还原数据库

mysqldump -uroot -p -h 192.168.0.1 -P 123 --set-gtid-purged=OFF -x --hex-blob --default-character-set=utf8mb4 DBNAME > F:\DBNAME20201126.sql
# 导出并压缩
mysqldump -uroot -p -h 192.168.0.1 -P 123 --set-gtid-purged=OFF -x --hex-blob --default-character-set=utf8mb4 dbname table_name | gzip > /home/com.sql.gz

mysql -uroot -p -h 192.168.0.1 -P 123 --default-character-set=utf8mb4  DBNAME < F:\DBNAME202010291528.sql
-- 查看数据目录
show  variables like 'datadir';

Debian 11 安装 MySQL 8

deb包方式安装

MySQL常见问题

非root用户无法登录MySQL

参考:解决mysql在非root用户下登录失败问题

# mysql -uroot -p 
use mysql;
select User,Host,plugin from user;
update user set plugin='mysql_native_password'
$ mysql -uroot

use mysql;
set password for root@localhost = password('123');
flush privileges 

gruop by报错this is incompatible with sql_mode=only_full_group_by

Got an error reading communication packets

mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet参数限制,导致写入或者更新失败。

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)
# vi /etc/my.cnf # 在[mysqld]加入200M:max_allowed_packet=20971520
# systemctl restart mysqld
# mysql -uroot -p
mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 20971520 |
+--------------------+----------+
1 row in set (0.01 sec)

临时修改:输入命令 set global max_allowed_packet = 210241024*10;

MySQL 优化

MySQL 故障诊断:MySQL 占用 CPU 过高问题定位及优化