MySQL
K.Sun
这个作者很懒,什么都没留下…
展开
-
MySQL利用多核处理器
在工作中可能遇到这样的情况,随着业务的增长,用户量也在逐渐增长,终究有一天,一到高峰期,数据库服务器CPU利用率直飚100%。最简单的做法就是直接提升硬件性能,简单粗暴,直接有效。假如我们最开始的服务器CPU核数是4,然后我们觉得4个有点扛不住,那就直接给他搞16个核。这下应该没啥问题了吧,用户访问站点貌似也比以前快了。但是不要高兴太早,当你打开任务管理器,你会发现利用率高的还是以前那几个核,或者说原创 2016-12-01 18:59:24 · 17906 阅读 · 2 评论 -
MySQL创建只读账号
应用场景:只要公司有数据团队的,那免不了让这帮家伙把全公司的数据库数据都摸一遍,但是要是直接把root用户给了他们,未免有点危险,于是只能给这帮人设权限,一般而言,他们只是做读操作,既然做读操作,那么只要有个select权限就可以了。我们可以通过GRANT来创建用户:GRANT SElECT ON *.* TO 'read_only_user'@'ip' IDENTIFIED BY "pa$$wo原创 2017-05-25 15:15:10 · 12418 阅读 · 0 评论 -
获取MySQL配置文件路径
在实际工作中,MySQL可能会涉及多个配置文件,但是因为各种原因我们无法找到它们的路,那么我们可以通过以下命令可以找到:首先找到mysqld的路径:$ which mysqld/usr/sbin/mysqld通过mysqld找到所有配置文件的路径:$/usr/sbin/mysqld --verbose --help | grep -A 1 'Default options'Default opt原创 2017-05-05 11:24:43 · 7492 阅读 · 0 评论 -
MySQL中decimal与float的区别
创建一张表:CREATE TABLE `dvf` ( `id` int(11) NOT NULL AUTO_INCREMENT, `field1` decimal(10,2) DEFAULT NULL, `field2` float(10,2) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFA原创 2017-05-24 15:39:58 · 1610 阅读 · 0 评论 -
不登录到MySQL执行SQL语句
一般来讲,我们在MySQL中执行查询都是进入到mysql中执行的,比如通过命令登录:$ mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.7.17-0ubuntu0.16.原创 2017-05-24 14:00:15 · 11664 阅读 · 0 评论 -
使用MySQL帮助
在实际工作中可能会涉及到不同的数据库,就是使用相同的数据库,可能也会涉及到不同版本,那么在这样的情况下有些命令或者语法可能就会因为不同的版本产生变化,所以为了方便查询不同版本下面的命令或者语法,MySQL产品专门提供了各自的帮助文档。首先使用? contents查看MySQL提供帮助分类:mysql> ? contents;You asked for help about help categor原创 2017-05-23 16:22:19 · 371 阅读 · 0 评论 -
Ubuntu下安装MySQL出错(dpkg: dependency problems prevent configuration of mysql-community-server)
安装MySQL最后一步,输入命令:sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb输出:(Reading database ... 160146 files and directories currently installed.)Preparing to unpack mysql-c原创 2017-03-02 13:41:48 · 10184 阅读 · 1 评论 -
SQL替换NULL值的显示
在数据查询中,有些字段的值为NULL,但是我们一般不会直接把NULL显示给用户,所以需要用其他方式替换一下,比如“NO VALUE”。例如有下面两个表: t_teacherid name------------1 teacher12 teacher23 teacher34 teacher4t_courseid name tid---------------1原创 2017-01-17 11:04:32 · 9804 阅读 · 1 评论 -
MySQL常用配置参数
连接请求的变量max_connectionsMySQL的最大连接数,增加该值增加MySQL要求的文件描述符的数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。back_logMySQL能暂存的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用。如果MySQL的连接数据达到 max_connections时,新来的请求将会被存在堆栈中,以等待某一连接转载 2017-01-16 11:21:00 · 1024 阅读 · 0 评论 -
Ubuntu下安装MySQL
首先到官网上下载MySQL Community Server安装包。在本文中,我用的是社区版的MySQL,操作系统为Ubuntu 16.04 X64。下载好安装包以后,解压安装包:$ tar -xvf mysql-server_5.7.17-1ubuntu16.10_amd64.deb-bundle.tar 解压后的文件列表:libmysqlclient-dev_5.7.17-1ubuntu16.1原创 2017-01-09 11:11:46 · 468 阅读 · 2 评论 -
MySQL模拟全联接
今天想在MySQL上执行以下FULL JOIN,没想到报错,把FULL改成LEFT,立马出结果了,很显然是FULL的错误。最后在网上查了以下,发现果然MySQL不支持全联接,但是在实际的操作中我们还是很有可能需要全联接这样的操作的,有没有代替的操作呢,答案是肯定的,SQL语句也很简单:SELECT * FROM table1 LEFT JOIN table2UNION ALLSELECT * F原创 2016-12-29 21:38:23 · 534 阅读 · 0 评论 -
MySQL中的BLOB与TEXT类型
BLOB与TEXT都是为存储大量字符串类型的数据而设计的,BLOB采用二级制方式存储,TEXT采用字符方式存储。 Type BLOB TEXT 1 TINYBLOB TINYTEXT 2 SMALLBLOB SMALLTEXT 3 BLOB TEXT 4 MEDIUMBLOB MEDIUMTEXT 5 LONGBLOB LONGT原创 2017-01-04 11:55:45 · 3267 阅读 · 0 评论 -
MySQL存储引擎的选择
一般而言,有InnoDB就差不多了,在大部分情况下,InnoDB就能满足我们的日常需求,所以在MySQL 5.5 之后,InnoDB就作为了默认的存储引擎。也就是说除了某些特征InnoDB没法提供,我们才有可能去选择其他的引擎。事务如果要用到事务,那么InnoDB就是不二之选,至少目前是这样的。由于MyISAM不支持事务,所以如果不需要事务,主要就是查询,插入等操作,那么也可以用MyISAM。备份在原创 2017-01-04 09:45:24 · 353 阅读 · 0 评论 -
MySQL判断一个字符串是否是另一个字符串的子字符串
在Java中有indexOf()方法就能判断一个字符串是否是另外一个字符串的子字符串,那在SQL中没有IndexOf()方法怎么办,没关系,还有LOCATE,下来举个例子就会用了:比如看一下字符串’is’是否在字符串’This is a test.’中存在:mysql> SELECT LOCATE('is','This is a test.') \G;***********************原创 2017-06-13 16:27:04 · 3407 阅读 · 0 评论