mysql数据库

MySQL utf8mb4 字符集:支持 emoji 表情符号

十年热恋 提交于 2020-01-17 04:49:56
我用他的方法解决了问题,亲测可用,不要用Navicat for Mysql去查询编码, 在服务器中以root命令进入mysql,用show variables like 'char%';命令查询的编码才是最准确的. ㈠ 序言 为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、 涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集 这必须要作为移动互联网行业的一个技术选型的要点 ㈡ 限制 需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错 ㈢ 简要步骤 以下是一个未升级到 5.5.3 的配置步骤: ① 备份数据库 ② 升级 MySQL Server 到 v5.5.3+ ③ 修改 database、table和column字符集 请参考下面命令修改字符集:(不用重启,SQL Server不能修改库) For each database: ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE = utf8mb4_unicode_ci; # For each table: ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; #

java存储emoji表情mysql问题

别说谁变了你拦得住时间么 提交于 2020-01-17 04:48:25
  emoji就是表情符号,已普遍应用于手机短信和网络聊天软件。   emoji表情就是这个: 在做一个手机app后台时,发现一个问题,通过hibernate进行mysql存储这种emoji表情时,一直在抛异常:   类似java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94';   这个是编码格式的问题,UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节。   mysql有个新的编码格式,即utf8mb4,将数据库表的编码格式改为这个就行了。由于这个是新的编码格式,所以请尽量使用较新的mysql数据库,大概在mysql5.5以后便可了。   说是这么说,但是我改了之后还是同样的错误,在经过很多努力的调试下,终于发现了问题:   mysql的java驱动包使用的是比较老的驱动。   换成新版本就成功了。   具体要多新没有试过,比较老的版本是使用的3,是不行的。   更换过版本之后将数据库的字符集更换:   set character_set_client=utf8mb4; set character_set_connection=utf8utf8mb4; set character_set_database=utf8utf8mb4; set

mysql支持emoji表情上传

末鹿安然 提交于 2020-01-17 04:47:59
背景: 由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。但是在mysql5.5之前并不支持utf8mb4编码,所以mysql一定要在5.5及以上 1、首先修改mysql配置文件 1 [mysqld] 2 character-set-client-handshake = FALSE 3 character-set-server = utf8mb4 4 collation-server = utf8mb4_unicode_ci 5 init_connect=’SET NAMES utf8mb4' 6 7 [mysql] 8 default-character-set=utf8mb4 9 10 [client] 11 default-character-set=utf8mb4 第5行和10行11行视情况而定 2、 修改数据库连接地址(这点很容易被忽略) url=jdbc:mysql://106.14.66.185:3306/db_yyzb?autoReconnect=true&rewriteBatchedStatements=true

Docker安装MySQL数据库

浪子不回头ぞ 提交于 2020-01-17 03:30:32
Docker安装并配置MySQL数据库 从仓库中拉取mysql镜像 ## 拉取最新版本 docker pull mysql ## 拉取指定版本,比如8.0.19 docker pull mysql:8.0.19 下载完成后查看镜像是否存在 docker images 运行mysql镜像 docker run --name mysql -p 3306:3306 -v /mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD = 123456 -d mysql –name: 以什么名字启动容器 -p 3306:3306 :将容器端口映射到服务器端口 -v /mysql/datadir:/var/lib/mysql :将mysql的配置路径映射到本地datadir上 -e MYSQL_ROOT_PASSWORD=123456 :设置服务器密码为123456 -d mysql:需要启动的容器的名称 查看mysql是否已运行 docker ps 在IMAGE列中有mysql就说明mysql已经在运行状态 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4cd38e1dda90 mysql "docker-entrypoint..." 2 minutes ago Up 2 minutes

mysql 事务

核能气质少年 提交于 2020-01-17 02:24:11
mysql事务的四大特性: 原子性: 组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。换句话说,事务是不可分割的最小单元。比如:银行转帐过程中,必须同时从一个帐户减去转帐金额,并加到另一个帐户中,只改变一个帐户是不合理的。 一致性: 在事务处理执行前后,数据库是一致的。也就是说,事务应该正确的转换系统状态。比如:银行转帐过程中,要么转帐金额从一个帐户转入另一个帐户,要么两个帐户都不变,没有其他的情况。 隔离性: 一个事务处理对另一个事务处理没有影响。就是说任何事务都不可能看到一个处在不完整状态下的事务。比如说,银行转帐过程中,在转帐事务没有提交之前,另一个转帐事务只能处于等待状态。 持续性: 事务处理的效果能够被永久保存下来。反过来说,事务应当能够承受所有的失败,包括服务器、进程、通信以及媒体失败等等。比如:银行转帐过程中,转帐后帐户的状态要能被保存下来。 MyISAM不支持事物,InnoDB支持事物。 MYSQL的事务处理主要有两种方法 1、用begin,rollback,commit来实现 START TRANSACTION 开始一个事务 ROLLBACK 事务回滚 COMMIT 事务确认 2、直接用set来改变mysql教程的自动提交模式 MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过 set autocommit=0

linux 下 安装 rpm 格式 的 mysql

拟墨画扇 提交于 2020-01-17 01:10:43
在Linux操作系统下,安装MYSQL有两种方式:   一种tar安装方式,   另外一种是rpm安装方式。   这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的tar格式的文件其实只是mysql的文件包,并不能直接安装,需要操作configure、make、install等命令才能完成安装,是一种比较繁琐的安装方式。 而rpm格式的文件是真正的安装包,相当于windows的exe文件,可以直接安装。      本文以MySQL-5.6.21 64位版本rpm格式的安装方式为例,详述MySQL的安装方式,32位的rpm版本安装方式也是如此。 (一)删除老版本的MySQL   在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本。经本文亲测,采用如下方式删除老版本的MySQL或MySQL残留文件作为方便。   1. 执行yum命令,删除MySQL的lib库,服务文件 yum remove mysql mysql-server mysql-libs mysql-server;   2. 执行find命令,查找MySQL的残留文件,然后运行“rm -rf 文件名”删除残留的MySQL文件 find / -name mysql (二)RPM格式安装MySQL   当前

Zabbix安装

烂漫一生 提交于 2020-01-17 00:06:47
安装教程: http://www.osyunwei.com/archives/7984.html 一、Web环境:Nginx+MySQL+PHP CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 http://www.osyunwei.com/archives/7891.html 二、zabbix软件包下载 zabbix-2.2.6 http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz 上传zabbix-2.2.6.tar.gz到服务器/usr/local/src目录下面 安装篇 一、创建、导入zabbix数据库 cd /usr/local/src #进入软件包下载目录 tar zxvf zabbix-2.2.6.tar.gz #解压 cd /usr/local/src/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录 ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件 mysql -u root -p #输入密码,进入MySQL控制台 create database zabbix character set

SQLAlchemy

拈花ヽ惹草 提交于 2020-01-16 21:44:57
SQLAlchemy SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,也就是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: Engine,框架的引擎 Connection Pooling ,数据库连接池 Dialect,选择连接数据库的DB API种类 Schema/Types,架构和类型 SQL Exprression Language,SQL表达式语言 Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作 MySQL-Python mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname> pymysql mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>] MySQL-Connector mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname> cx_Oracle oracle+cx_oracle://user:pass@host:port/dbname[

Zabbix的安装(源码安装)

瘦欲@ 提交于 2020-01-16 20:34:36
zabbix3.0完全安装 安装zabbix首先需要安装ltmp(lnmp),这里的t是指tengine(taobao的nginx版本),安装教程见 http://www.ltmp.cc 安装的时候 PHP 选择5.4版本,因为zabbix3.0需要php5.4以上版本。 安装完成以后,就开始安装zabbix了。 系统需求: 需要5GB以上硬盘剩余空间 2G以上内存,OpenVZ的建议2G以上(小内存请勿使用64位系统) VPS或服务器必须已经联网! Linux下区分大小写,输入命令时请注意! 安装步骤: 1.使用putty或类似的SSH工具登陆VPS或服务器; 添加dns参数,防止默认装机没有dns导致安装失败 1 echo "nameserver 114.114.114.114" >> /etc/resolv.conf yum-fastestmirror,自动选择最快的yum源,可以加快安装进度。 #centos5\centos6: 1 yum -y install yum-fastestmirror #centos4: 1 yum -y install yum-plugin-fastestmirror 为了防止安装过程中中断,可以先安装screen,同时安装下载工具wget 1 [root@LTMP]# yum install screen wget -y 2.登陆后运行:

利用Mysql进行Python的数据分析

徘徊边缘 提交于 2020-01-16 19:59:01
一、mysql数据库的思想,以及操作流程 (1)、数据库是一种关系型数据库----‘关系’如何体现呢? 在Java语言或者其他计算机语言作为后台开发来讲,数据库的‘关系’体现在one to one many to one many to many(有中间表产生) one to many (2)、在python数据分析,人工智能技术领域不是以上理解,是将数据通过numpy pandas matplotlib 进行数据的分析 体现在数据的发布思想!将数据发布给客户,人工智能设备----作为数据集! 二、MySQL数据库的实战 (1)、只能满足小型企业级的开发,对于数据集不是很合适!数据储存量较大!数据比较安全! (2)、Oracle—针对于大数据/人工智能利用很多! (3)、数据库分为DDL DCL DML语句 DDL:数据库定义语言,用于定义数据的结构 DCL:数据库控制语言,用于定义数据用户的权限—DBA DML:数据库操作语言,用于检索或者修改数据(主要的,面试,笔试都会考到) 三、Mysql企业级的按照流程 已经企业版本的选择 (1):MySQL分为客户端和服务器端 —备注:MySQL自身会携带基于DOS的客户端和服务器端! (2):安装注意事项 i:用户名和密码的设置 root root ii:端口 默认端口3306 Oracle:5521 iii:编码格式 默认是英文