Centos MySQL 5.7安装、升级教程
MySQL 5.7安装、升级笔记分享:
卸载当前的 MySQL
查看当前 MySQL 版本:
|
1
2
|
[root@coderknock ~]# mysql -Vmysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1 |
停止 MySQL 服务
|
1
2
|
[root@coderknock ~]# service mysqld stopStopping mysqld: [ OK ] |
备份数据【数据不重要可以忽略】
备份数据库,升级MySQL通常不会丢失数据,但保险起见,我们需要做这一步。输入命令:
[root@coderknock ~]# mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql
卸载旧版本 MySQL
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
[root@coderknock ~]# yum remove mysql mysql-*Loaded plugins: securitySetting up Remove ProcessResolving Dependencies--> Running transaction check---> Package mysql.i686 0:5.1.73-7.el6 will be erased---> Package mysql-libs.i686 0:5.1.73-7.el6 will be erased--> Processing Dependency: libmysqlclient.so.16 for package: 2:postfix-2.6.6-6.el6_7.1.i686--> Processing Dependency: libmysqlclient.so.16 for package: perl-DBD-MySQL-4.013-3.el6.i686--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: 2:postfix-2.6.6-6.el6_7.1.i686--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: perl-DBD-MySQL-4.013-3.el6.i686--> Processing Dependency: mysql-libs for package: 2:postfix-2.6.6-6.el6_7.1.i686---> Package mysql-server.i686 0:5.1.73-7.el6 will be erased--> Running transaction check---> Package perl-DBD-MySQL.i686 0:4.013-3.el6 will be erased---> Package postfix.i686 2:2.6.6-6.el6_7.1 will be erased--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-16.el6_8.2.i686--> Processing Dependency: /usr/sbin/sendmail for package: redhat-lsb-core-4.0-7.el6.centos.i686--> Running transaction check---> Package cronie.i686 0:1.4.4-16.el6_8.2 will be erased--> Processing Dependency: cronie = 1.4.4-16.el6_8.2 for package: cronie-anacron-1.4.4-16.el6_8.2.i686---> Package redhat-lsb-core.i686 0:4.0-7.el6.centos will be erased--> Running transaction check---> Package cronie-anacron.i686 0:1.4.4-16.el6_8.2 will be erased--> Processing Dependency: /etc/cron.d for package: crontabs-1.10-33.el6.noarch--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-31.el6.i686--> Restarting Dependency Resolution with new changes.--> Running transaction check---> Package crontabs.noarch 0:1.10-33.el6 will be erased---> Package sysstat.i686 0:9.0.4-31.el6 will be erased--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================= Package Arch Version Repository Size=======================================================================================================================================================================================================Removing: mysql i686 5.1.73-7.el6 @base 2.3 M mysql-libs i686 5.1.73-7.el6 @base 3.9 M mysql-server i686 5.1.73-7.el6 @base 24 MRemoving for dependencies: cronie i686 1.4.4-16.el6_8.2 @updates 169 k cronie-anacron i686 1.4.4-16.el6_8.2 @updates 38 k crontabs noarch 1.10-33.el6 @anaconda-CentOS-201311291201.i386/6.5 2.4 k perl-DBD-MySQL i686 4.013-3.el6 @base 341 k postfix i686 2:2.6.6-6.el6_7.1 @base 9.3 M redhat-lsb-core i686 4.0-7.el6.centos @anaconda-CentOS-201311291201.i386/6.5 22 k sysstat i686 9.0.4-31.el6 @base 804 kTransaction Summary=======================================================================================================================================================================================================Remove 10 Package(s)Installed size: 41 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Erasing : mysql-server-5.1.73-7.el6.i686 1/10 warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave Erasing : redhat-lsb-core-4.0-7.el6.centos.i686 2/10 /var/tmp/rpm-tmp.Y5QGjy: line 1: lsb_release: command not found Erasing : mysql-5.1.73-7.el6.i686 3/10 Erasing : perl-DBD-MySQL-4.013-3.el6.i686 4/10 Erasing : sysstat-9.0.4-31.el6.i686 5/10 Erasing : crontabs-1.10-33.el6.noarch 6/10 Erasing : cronie-anacron-1.4.4-16.el6_8.2.i686 7/10 Erasing : cronie-1.4.4-16.el6_8.2.i686 8/10 Erasing : 2:postfix-2.6.6-6.el6_7.1.i686 9/10 Erasing : mysql-libs-5.1.73-7.el6.i686 10/10 Verifying : redhat-lsb-core-4.0-7.el6.centos.i686 1/10 Verifying : perl-DBD-MySQL-4.013-3.el6.i686 2/10 Verifying : mysql-server-5.1.73-7.el6.i686 3/10 Verifying : crontabs-1.10-33.el6.noarch 4/10 Verifying : sysstat-9.0.4-31.el6.i686 5/10 Verifying : cronie-anacron-1.4.4-16.el6_8.2.i686 6/10 Verifying : cronie-1.4.4-16.el6_8.2.i686 7/10 Verifying : mysql-libs-5.1.73-7.el6.i686 8/10 Verifying : mysql-5.1.73-7.el6.i686 9/10 Verifying : 2:postfix-2.6.6-6.el6_7.1.i686 10/10 Removed: mysql.i686 0:5.1.73-7.el6 mysql-libs.i686 0:5.1.73-7.el6 mysql-server.i686 0:5.1.73-7.el6 Dependency Removed: cronie.i686 0:1.4.4-16.el6_8.2 cronie-anacron.i686 0:1.4.4-16.el6_8.2 crontabs.noarch 0:1.10-33.el6 perl-DBD-MySQL.i686 0:4.013-3.el6 postfix.i686 2:2.6.6-6.el6_7.1 redhat-lsb-core.i686 0:4.0-7.el6.centos sysstat.i686 0:9.0.4-31.el6 Complete! |
这样就卸载完成了,为了保险起见我们检查一下系统中是否还有 MySQL 相关内容没有删除干净
|
1
2
|
[root@coderknock ~]# yum list installed | grep mysql[root@coderknock ~]# |
上面的情况是没有未删除部分,如果有的话可通过下面的命令删除:
[root@coderknock ~]# yum remove mysql-libs
下载最新版本的 MySQL
查看系统配置信息选择对应 MySQL 包
|
1
2
|
[root@coderknock ~]# uname -r 3.10.104-1.el6.elrepo.i686 |
在浏览器打开 sohu提供的MySQL 镜像(官网速度太慢)

然后根据自己系统配置选择对应的 rpm 包,右键复制文件链接,我的选择如下:
下载并解压
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@coderknock ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.i686.rpm-bundle.tar--2017-01-06 22:46:15-- http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.i686.rpm-bundle.tarResolving mirrors.sohu.com... 119.188.36.70Connecting to mirrors.sohu.com|119.188.36.70|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 448163840 (427M) [application/octet-stream]Saving to: “mysql-5.7.17-1.el6.i686.rpm-bundle.tar”100%[=============================================================================================================================================================>] 448,163,840 9.98M/s in 45s 2017-01-06 22:47:00 (9.54 MB/s) - “mysql-5.7.17-1.el6.i686.rpm-bundle.tar” saved [448163840/448163840][root@coderknock ~]# tar xvf mysql-5.7.17-1.el6.i686.rpm-bundle.tar mysql-community-libs-compat-5.7.17-1.el6.i686.rpmmysql-community-client-5.7.17-1.el6.i686.rpmmysql-community-embedded-devel-5.7.17-1.el6.i686.rpmmysql-community-devel-5.7.17-1.el6.i686.rpmmysql-community-common-5.7.17-1.el6.i686.rpmmysql-community-test-5.7.17-1.el6.i686.rpmmysql-community-embedded-5.7.17-1.el6.i686.rpmmysql-community-libs-5.7.17-1.el6.i686.rpmmysql-community-server-5.7.17-1.el6.i686.rpm |
安装及配置
安装 rpm 【有依赖关系,请按下面的步骤安装,搜索 [root@coderknock ~]# 可跳过安装日志直接查看相关命令】
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
[root@coderknock ~]# yum localinstall mysql-community-common-5.7.17-1.el6.i686.rpm Loaded plugins: securitySetting up Local Package ProcessExamining mysql-community-common-5.7.17-1.el6.i686.rpm: mysql-community-common-5.7.17-1.el6.i686Marking mysql-community-common-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-common.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================= Package Arch Version Repository Size=======================================================================================================================================================================================================Installing: mysql-community-common i686 5.7.17-1.el6 /mysql-community-common-5.7.17-1.el6.i686 2.5 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 2.5 MInstalled size: 2.5 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : mysql-community-common-5.7.17-1.el6.i686 1/1 Verifying : mysql-community-common-5.7.17-1.el6.i686 1/1 Installed: mysql-community-common.i686 0:5.7.17-1.el6 Complete![root@coderknock ~]# yum localinstall mysql-community-libs-5.7.17-1.el6.i686.rpm Loaded plugins: securitySetting up Local Package ProcessExamining mysql-community-libs-5.7.17-1.el6.i686.rpm: mysql-community-libs-5.7.17-1.el6.i686Marking mysql-community-libs-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-libs.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================= Package Arch Version Repository Size=======================================================================================================================================================================================================Installing: mysql-community-libs i686 5.7.17-1.el6 /mysql-community-libs-5.7.17-1.el6.i686 7.8 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 7.8 MInstalled size: 7.8 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : mysql-community-libs-5.7.17-1.el6.i686 1/1 Verifying : mysql-community-libs-5.7.17-1.el6.i686 1/1 Installed: mysql-community-libs.i686 0:5.7.17-1.el6 Complete![root@coderknock ~]# yum localinstall mysql-community-client-5.7.17-1.el6.i686.rpm Loaded plugins: securitySetting up Local Package ProcessExamining mysql-community-client-5.7.17-1.el6.i686.rpm: mysql-community-client-5.7.17-1.el6.i686Marking mysql-community-client-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-client.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================= Package Arch Version Repository Size=======================================================================================================================================================================================================Installing: mysql-community-client i686 5.7.17-1.el6 /mysql-community-client-5.7.17-1.el6.i686 87 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 87 MInstalled size: 87 MIs this ok [y/N]: ^[[A^HyIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : mysql-community-client-5.7.17-1.el6.i686 1/1 Verifying : mysql-community-client-5.7.17-1.el6.i686 1/1 Installed: mysql-community-client.i686 0:5.7.17-1.el6 Complete![root@coderknock ~]# yum localinstall mysql-community-server-5.7.17-1.el6.i686.rpm Loaded plugins: securitySetting up Local Package ProcessExamining mysql-community-server-5.7.17-1.el6.i686.rpm: mysql-community-server-5.7.17-1.el6.i686Marking mysql-community-server-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-server.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved======================================================================================================================================================================================================= Package Arch Version Repository Size=======================================================================================================================================================================================================Installing: mysql-community-server i686 5.7.17-1.el6 /mysql-community-server-5.7.17-1.el6.i686 695 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 695 MInstalled size: 695 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : mysql-community-server-5.7.17-1.el6.i686 1/1 Verifying : mysql-community-server-5.7.17-1.el6.i686 1/1 Installed: mysql-community-server.i686 0:5.7.17-1.el6 Complete! |
配置
查看版本
|
1
2
|
[root@coderknock ~]# mysql -Vmysql Ver 14.14 Distrib 5.7.17, for Linux (i686) using EditLine wrapper |
启动 MySQL
|
1
2
3
|
[root@coderknock ~]# service mysqld startMySQL Daemon failed to start.Starting mysqld: [FAILED] |
上面的情况说明启动失败,这是因为经过上面的步骤,MySQL 最新版已经安装到我们的系统了,但这是还没有初始化数据,所以导致无法启动。
初始化数据库
[root@coderknock ~]# mysqld --initialize
如果遇到错误如下:
2017-01-06T14:53:08.889803Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-01-06T14:53:08.892190Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-01-06T14:53:08.892475Z 0 [ERROR] Aborting
可以运行以下命令【无需再执行 mysqld --initialize】:
|
1
2
3
4
5
|
[root@coderknock ~]# rm -rf /var/lib/mysql[root@coderknock ~]# service mysqld startInitializing MySQL database: [ OK ]Installing validate password plugin: [ OK ]Starting mysqld: [ OK ] |
这样我们就启动了 MySQL 服务
MySQL 无法登陆的解决办法
登录时我遇到了一些问题:
|
1
2
3
|
[root@coderknock ~]# mysql -u root -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) |
这是因较新版本的 MySQL 因为安全的考虑,会设置默认密码
|
1
2
|
[root@coderknock ~]# grep 'temporary password' /var/log/mysqld.log2017-01-06T14:53:33.490540Z 1 [Note] A temporary password is generated for root@localhost: Ei(GLix_p6/1 |
这样就找到了密码,如果上面方法不可行可以看看是否有 /root/.mysql_secret 文件
或者通过以下方法直接修改密码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@coderknock ~]# service mysqld stopStopping mysqld: [ OK ][root@coderknock ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &[1] 14208[root@coderknock ~]# 2017-01-06T15:02:18.663496Z mysqld_safe Logging to '/var/log/mysqld.log'.2017-01-06T15:02:18.666764Z mysqld_safe Logging to '/var/log/mysqld.log'.2017-01-06T15:02:18.693025Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql^C[root@coderknock ~]# mysql -u root mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.17 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>update mysql.user set authentication_string=password('你的密码.') where User='root';Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 1mysql> flush privileges;mysql> update mysql.user set Host='%' where User='root'Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 1mysql> flush privileges; |
注意SQL在Linux下要注意大小写,执行之后Query OK, 1 row affected, 1 warning (0.00 sec),row 之前是1才代表执行成功了。update mysql.user set Host='%' where User='root' 这句是为了别的 IP 的机器也可以登录我们的MySQL,可以按需执行
重置密码
无论是获取到了默认密码还是强行修改了密码。新版 MySQL 在第一次通过密码登录后会无法执行SQL:
|
1
2
|
mysql> select host from mysql.user where User='root';ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. |
这是因为 MySQL 为了安全会要求修改初始密码。
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';
如果遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements说明你的密码太简单,需要设置复杂点的密码,有大小写字母、有数字、有标点基本上就可以通过。
注意,如果你没有修改过 root 用户的Host或者修改为非 % 的字符,需要对上面的语句进行对应的修改,例如: ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘你的密码'
如果遇到ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 则需要退出安全模式,正常启动MySQL后登陆再进行以上操作:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
mysql> quit[root@coderknock ~]# ps -ef|grep mysqlroot 14208 12686 0 23:02 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networkingmysql 14381 14208 0 23:02 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sockroot 15148 12686 0 23:23 pts/0 00:00:00 grep mysql[root@coderknock ~]# kill -9 114208-bash: kill: (114208) - No such process[root@coderknock ~]# kill -9 14208[1]+ Killed mysqld_safe --user=mysql --skip-grant-tables --skip-networking[root@coderknock ~]# kill -9 1438[root@coderknock ~]# service mysqld start[root@coderknock ~]# mysql -u root mysql |
精彩专题分享:mysql不同版本安装教程 mysql5.7各版本安装教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
Centos MySQL 5.7安装、升级教程的更多相关文章
- Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用
title: "Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用" categories: soft tags: soft autho ...
- MySQL二进制快速安装升级(待验证)
适合小版本的升级. 即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade. 特点:不改变数据文件,升级速度快:但,不可以跨操作系统,不 ...
- Win10系统下MySQL压缩版安装配置教程
MySQL分为安装版和压缩.为了以后MySQL出问题想重装时的各种不必要的麻烦,我个人推荐压缩版MySQL.下面进入教程: 进入官网下载MySQL压缩包,并解压如下 配置环境变量---将bin文件的目 ...
- linux下mysql 最新版安装图解教程
1.查看当前安装的linux版本 命令:lsb_release -a 如下图所示 通过上图中的数据可以看出安装的版本为RedHat5.4,所以我们需要下载RedHat5.4对应的mysql安装包 2. ...
- MySQL 下载与安装使用教程
MySQL 官网地址:https://www.mysql.com/ 等待下载完成 双击运行 如果有需要 我们可以新增一个用户出来 点击 Add User,不需要的话 直接 点击 next 默认的MyS ...
- CentOS 7使用yum安装SNMP教程
一.安装SMNP yum install -y net-snmp net-snmp-utils 可以理解为net-snmp是服务端,net-snmp-utils是客户端工具集:如果机器上只需要搭建服务 ...
- CentOS(Linux)安装KETTLE教程 并配置执行定时任务
1,首先是安装jdk,并设置环境变量 采用yum安装可不设置环境变量 2,下载kettle https://sourceforge.net/projects/pentaho/files/Data%20 ...
- Redis在CentOS for LInux上安装详细教程
1.首先上传安装包,这里我以 redis-5.0.8.tar.gz 为例子. Linux下载redis地址:wget http://download.redis.io/releases/redis-5 ...
- Centos(Linux)安装openoffice教程
一.从官网下载openoffice软件 下载地址:http://www.openoffice.org/zh-cn/download/ 选择(RPM)类型进行下载,选择对应的版本,这里默认选择是最新的版 ...
随机推荐
- JAVA学习笔记--初探hash与map
先推荐一篇文章 http://blog.csdn.net/cownew/article/details/6478993 也为自己mark
- Struts2基础-4 -struts拦截器
Struts2拦截器工作原理 拦截器围绕着 Action和 Result的执行而执行. Struts2拦截器的工作方式如图10.2所示.从上图中可以看出, Struts2拦截器的实现原理和 Servl ...
- objc_setAssociatedObject 关联对象
使用场景:在分类中,不允许创建实例变量,这里就解决了此问题 参考: https://www.cnblogs.com/someonelikeyou/p/7162613.html 属性的实质:就是实例变量 ...
- PHP curl_init函数
curl_init — 初始化一个cURL会话 说明 resource curl_init ([ string $url = NULL ] ) 初始化一个新的会话,返回一个cURL句柄,供curl_s ...
- BZOJ 2694: Lcm 莫比乌斯反演 + 积性函数 + 线性筛 + 卡常
求 $\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)\mu(gcd(i,j))^2$ $\Rightarrow \sum_{d=1}^{n}\mu(d)^2\sum_{i ...
- 【LeetCode 96】不同的二叉搜索树
题目链接 [题解] 我们可以枚举这棵树的根节点在i处. 现在问题就变成. 1..i-1这i-1个节点组成的树和i+1..n这n-i个节点组成的树的个数的问题了. 假设他们俩的结果分别是cnt1和cnt ...
- AGC013 E Placing Squares——模型转化+矩阵乘法
题目:https://atcoder.jp/contests/agc013/tasks/agc013_e 边长的平方,可以看做是在该范围内放两个不同的球的方案数.两个球可以重合. 题意变成:给长为 n ...
- 防止NSTimer和调用对象之间的循环引用
防止NSTimer和调用对象之间的循环引用 @interface NSTimer (EOCBlocksSupport) + (NSTimer *)eoc_scheduledTimerWithTimeI ...
- 左手Mongodb右手Redis
第二章,了解Mongodb保存数据 Mongodb对于每次插入的数据没有要求,字段可以随便变动,字段类型可以随意变动. Mongodb可以并发插入上万条文档,这是传统关系型数据库不能望其项背的. 1. ...
- Jmeter 线程之间传递参数
1.获取返回结果中的值,设置为变量 2.在该请求下,添加BeanShell PostProcessor插件,使用__setProperty函数,将之前的变量转换成全局变量 3.在另一个线程组中引用该变 ...