HankChow's Blog


  • 首页

  • 归档

  • 关于

  • 标签

  • 搜索

MySQL 5.6 无口令 dump

发表于 2018-04-09
字数统计: 120 | 阅读时长 ≈ 1

为了提高安全性,MySQL 5.6 开始在 mysql 和 mysqldump 命令中明文输入口令时报 Warning: Using apassword on the command line interface can be insecure. 的警告。

在使用 shell 脚本来导出数据的时候,还是不要使用明文口令为妙。对于 MySQL 5.6+,可以在配置文件(CentOS 7 中为 /etc/my.cnf)中加入以下内容,再使用 mysqldump 就不需要使用口令了。

1
2
3
[mysqldump]
user={MySQL 用户名}
password={口令}

Python 按照多个键进行排序

发表于 2017-08-16
字数统计: 258 | 阅读时长 ≈ 1

在 Python 中,可以使用 list.sort() 或 sorted(list) 对列表进行排序,而且可以使用 key 参数使列表按照一定的键值来排序。

有一些情况下,需要首先对列表按照键值1来进行排序,排序后有多个元素的键值1相等,在每批键值1相等的元素当中,需要再按照键值2进行排序,甚至后续还有更多用以排序的键值。此时可以把 key 参数中 lambda 表达式的返回值修改为一个元组,其中元组的每个元素依次是需要依据排序的键值。

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
from pprint import pprint

lst = [
(2, 1),
(1, 2),
(1, 3),
(1, 1)
]

pprint(sorted(lst), key=lambda x: x[0])
# 此时仅对第一个元素进行排序
# [
# (1, 2),
# (1, 3),
# (1, 1),
# (2, 1)
# ]

pprint(sorted(lst), key=lambda x: (x[0], x[1]))
# 此时先对第一个元素进行排序,在第一个元素相同的情况下,按第二个元素进行排序
# [
# (1, 1),
# (1, 2),
# (1, 3),
# (2, 1)
# ]

快速安装 zsh

发表于 2017-04-28
字数统计: 64 | 阅读时长 ≈ 1

在新机器上快速安装比 bash 不知道高到哪里去了的 zsh。

1
2
3
4
5
6
7
8
# 安装 zsh
yum -y install zsh
# 把默认 shell 替换为 zsh
chsh -s /bin/zsh

# 安装 oh-my-zsh
which curl || yum -y install curl
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

Linux 下普通用户获取 sudo 权限的方法

发表于 2017-04-01
字数统计: 196 | 阅读时长 ≈ 1

在 Linux 创建新用户后,如果需要使该用户能以 sudo 方式执行命令,需要把用户添加到 sudoers 文件中,否则在使用 sudo 的时候会报“{user} is not in the sudoers file”错误。此时需要将用户添加到 sudoers 文件中,并使其获得相应权限。

首先需要使用 root 用户,执行命令:

1
visudo

打开 sudoers 文件,然后在其中添加

1
2
{user} ALL=(ALL:ALL) ALL
%{user} ALL=(ALL) NOPASSWD: ALL # 设置{user}组下面的用户使用 sudo 不需要输入密码

保存后,该用户即可使用 sudo 命令。

4个 ALL 之中,第 1 个 ALL 是用户(user),第 2 个 ALL 是机器,第 3 个 ALL 是新用户身分(run_as_user, 如 root, oracle),第 4 个ALL 是命令。

Selenium 使用 Firefox 无头浏览器

发表于 2017-03-04
字数统计: 148 | 阅读时长 ≈ 1

目前 Selenium 已经停止对 PhantomJS 的支持。虽然 webdriver.PhantomJS() 仍然可以使用,但最佳选择应该是 Firefox 或者 Chrome 对应的无头浏览器,如果需要使用 Firefox 无头浏览器,可以按照以下方式开启:

1
2
3
4
5
6
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.add_argument("-headless")
driver = Firefox(firefox_options=options)

此时建立的 webdriver 对象就是一个 Firefox 的无头浏览器,如果需要使用 Chrome 无头浏览器,建立方法与 Firefox 差异不大。与 PhantomJS 无头浏览器相比,Firefox 无头浏览器建立对象的速度比较慢。

1…121314…17
HankChow

HankChow

84 日志
74 标签
0%
© 2019 HankChow | Site words total count: 111.3k