Mysql实战常见问题汇总

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 引言项目中使用Mysql经常会遇到修改编码格式、导入sql、导出sql、windows授权、查看删除死锁进程等操作。特总结如下:

1、Mysql批量导入sql

(1)选择数据库

mysql>use abc;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abc.sql;


2、Mysql导出为sql(导出数据和表结构)

mysqldump -u用户名 -p 数据库名 > 数据库名.sql


#/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql

1

敲回车后会提示输入密码


或者通过navicat工具导出。


3、导出结果数据

select * from ly_info where enckeyword = "0"  into outfile '/tmp/ly_insert.txt';

1

将结果转为sql语句,参考:

http://blog.csdn.net/laoyang360/article/details/53236018


4、Mysql ut8格式修改,目的:防止出现乱码。

最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):


1)、在[client]字段里加入default-character-set=utf8,

如下:


[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

1

2

3

4

2)、在[mysqld]字段里加入character-set-server=utf8,

如下:


[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

1

2

3

4

3)、在[mysql]字段里加入default-character-set=utf8,

如下:


[mysql]

no-auto-rehash

default-character-set=utf8

1

2

3

验证方式如下:

使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。


+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

1

2

3

4

5

6

7

8

9

10

11

12

4)如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。

解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):

SET NAMES ‘utf8’;


它相当于下面的三句指令:


SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

1

2

3

5、mysql远程windows授权命令

错误:Access denied for user ‘root@IP’ (using password: YES)

image.png

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password@!' WITH GRANT OPTION;

1

6、查询、更新操作

SELECT count(1) AS num, 'qd_last' AS info FROM `qd_info` WHERE enckeyword = "0";

update ya_info t1 , ls_info t2 set t1.id_new = t2.id_new  where t1._id = t2._id;

alter table qd_info add `word` varchar(256) NOT NULL DEFAULT '0', add `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

1

2

3

7、查看死锁表死锁

show processlist ;

mysql> show processlist;

+--------+------+--------------------+------+---------+------+----------+------------------------------------------------------------------------------------------------------+

| Id | User | Host | db | Command | Time | State | Info |

+--------+------+--------------------+------+---------+------+----------+------------------------------------------------------------------------------------------------------+

| 219733 | root | 10.200.1.137:38012 | test | Sleep | 1659 | | NULL |

| 219749 | root | 10.200.1.137:38071 | test | Query | 85 | Locked | SELECT count(1) AS num, 't_last' AS info FROM `com_info` WHERE enckeyword = "0"

1

2

3

4

5

6

7

解决方法: 关闭用不到的连接


mysql> kill 219733 ;

1

未完待续

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 关系型数据库 MySQL
MySQL触发器实战:自动执行的秘密
MySQL触发器实战:自动执行的秘密
80 3
|
25天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
29 2
zabbix agent集成percona监控MySQL的插件实战案例
|
1月前
|
SQL 关系型数据库 MySQL
干货!python与MySQL数据库的交互实战
干货!python与MySQL数据库的交互实战
|
1月前
|
存储 关系型数据库 MySQL
实战!MySQL主从复制一键搭建脚本分享
实战!MySQL主从复制一键搭建脚本分享
29 2
|
1月前
|
SQL 存储 关系型数据库
MySQL备份:mydumper 备份恢复工具生产实战
MySQL备份:mydumper 备份恢复工具生产实战
|
1月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
133 1
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶实战:解锁性能飙升秘籍,从菜鸟到高手的华丽蜕变,让数据操作如行云流水!
【8月更文挑战第5天】MySQL是最流行的开源关系型数据库之一,在Web开发与数据分析等领域广泛应用。本文通过实战代码示例,深入探讨MySQL进阶技能:包括索引优化以提升查询性能;利用JOIN与子查询处理多表关联数据;通过事务处理确保数据一致性;使用存储过程与函数封装复杂逻辑以便重用;设置触发器自动执行特定任务以维护数据完整性。掌握这些技能能显著提高数据处理效率与系统性能。
39 5
|
1月前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
334 0
|
1月前
|
存储 关系型数据库 MySQL
MySQL中的DISTINCT与GROUP BY:效率之争与实战应用
【8月更文挑战第12天】在数据库查询优化中,DISTINCT和GROUP BY常常被用来去重或聚合数据,但它们在实现方式和性能表现上却各有千秋。本文将深入探讨两者在MySQL中的效率差异,结合工作学习中的实际案例,为您呈现一场技术干货分享。
222 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL性能优化实战:从索引策略到查询优化
MySQL性能优化聚焦索引策略和查询优化。创建索引如`CREATE INDEX idx_user_id ON users(user_id)`可加速检索;复合索引考虑字段顺序,如`idx_name ON users(last_name, first_name)`。使用`EXPLAIN`分析查询效率,避免全表扫描和大量`OFFSET`。通过子查询优化分页,如LIMIT配合内部排序。定期审查和调整策略以提升响应速度和降低资源消耗。【6月更文挑战第22天】
555 2

热门文章

最新文章