首页 > 数据库技术 > 详细

mysql使用遇到的问题

时间:2020-01-30 18:32:16      阅读:54      评论:0      收藏:0      [点我收藏+]

Linux下Mysql中文显示成问号的问题

1、打开Linux窗口,启动mysql。

2、连接mysql输入show variables like ‘%character%‘; 出现如下图,这样的话在linux下操作mysql会出现中文乱码,所以我们要解决这个问题。

技术分享图片

3、关闭mysql,找到/etc/mysql/mysql.conf.d/mysqld.cnf 配置文件

4、编辑文件,指令:vim,在 [mysqld] 下面添加一行代码

character_set_server= utf8

技术分享图片

5、重启mysql服务:

service mysql stop;
service mysql status;
service mysql start;

6、连接mysql,输入命令show variables like ‘%character%‘;
显示变为utf8,则表示修改成功。再操作mysql数据库就不会初心中文乱码。

注意:若不成功,则看下配置文件的位置是否正确。

 /etc/mysql 下有个my.cnf,里面指向的文件路径 就是配置文件的路径:!includedir /etc/mysql/mysql.conf.d/

扩展知识:

技术分享图片

This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘ 解决办法

在对mysql数据,进行以下Linq查询时报错,

var newsIds = _db.NewsComment.OrderByDescending(c => c.AddTime).GroupBy(c => c.NewsId).Select(c => c.Key).Take(topCount);
var list = _db.News.Include("NewsClassify").Include("NewsComment").Where(c => newsIds.Contains(c.Id))
.Where(where).OrderByDescending(c => c.PublishDate);

 foreach (var news in list)

改为

var newsIds = _db.NewsComment.OrderByDescending(c => c.AddTime).GroupBy(c => c.NewsId).Select(c => c.Key).Take(topCount).ToList();
var list = _db.News.Include("NewsClassify").Include("NewsComment").Where(c => newsIds.Contains(c.Id))
.Where(where).OrderByDescending(c => c.PublishDate);

 foreach (var news in list)

参考:This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘ 解决办法

 

mysql使用遇到的问题

原文:https://www.cnblogs.com/peterYong/p/12242872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!