应该将所有心得都记录在博客里,然后有事没事翻翻看。
一、安装mysql的一些经验教训以及代码:
安装mysql:
1. 安装在对应文件夹下(路径不要有中文),配置环境变量Mysql连接到安装文件目录的bin下
2. 新建一个txt文档,然后写如下代码,接着改文件格式为“my.ini"
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=F:\18-data\mysql-8.0.23-winx64
#设置mysql数据库的数据的存放目录
datadir=F:\18-data\mysql-8.0.23-winx64\data
#允许最大连接数,这里亲测\data和\data不影响安装的使用
max_connections=200
#允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
#服务端使用的字符集默认为UTF8
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8utf8与utf8mb4的异同在后续补充材料中[1]
3.命令提示符-选择“管理员身份打开”,然后进入mysql对应文件夹下
cd /d F:\18-data\mysql-8.0.23-winx64\bin 回车4.安装配置mysql
输入
mysqld --initialize --console
#初始化mysql,双击复制弹出来的密码
mysqld - install mysql
#安装mysql
net start mysql
#启动mysql(当然net stop mysql就是关闭mysql)5.输密码与更改密码
#首次登陆需要输入密码
mysql -u root -p
#更改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY '新密码‘:6.补充
#刷新
flush privileges在电脑的服务里找到“mysql"
随后记住修改的密码,直接用navicat连mysql就可以了。二、[tableau]-day06/07
1.地图
a.填充地图
完成:各省市售电量填充地图、地图格式设置
b.多维地图
完成:各省市售电量的多维地图
c.混合地图
完成:各省市售电量混合地图2.地图-自定义添加部分
a.多边形地图
b.设置地理信息,设置图源,部分图源可以从高德官网扒下来
c.香港地铁背景图(给的资料包里没有源文件,简单了解了一下)三、回忆一下python的内容
a= ‘i love you’
print(a [0])
print(a[0:5])
print(a[-1])
print(a[-3])
#注意括号里用的是[],顺序是从0开始,从小到大b=‘www.baidu.com’
print(b.split(’.’))
#split分隔符,类似excel里的分列,指定要求分列a=‘There is apples’
b=a.replace(‘is’,‘are’)
print(b)
#replace-替换,类似word中的替换a=’ cuiqiang yao zhuandaqian ’
print(a.strip())
c=‘cuiqiang yao zhuandaqian’
print(c.strip(’*’))
#strip返回去除除两侧(不含内部)空格的字符串,一般去除多余的空格部分d=’{} is my love’.format(‘python’)
print(d)
#format方法 {}与 .format(‘字符串’)相结合
#content = input(‘请输入搜索内容:’)
#url_path =‘http://www.pexels.com/search/{}’.format(content)
#print(url_path)
#这是要在命令行里输入输出指令def function(a,b):
return ‘1/2ab’
function(2,3)
#注意分号的用途
def change_number(number):
hiding_number = number.replace(number[3:7],’*’*4)
print(hiding_number)
change_number(‘15643658565’)def count_login():
password = input(‘password:’)
if password == '12345’:
print(‘输入成功!’)
else:
print(‘输入失败,请再次输入’)
count_login()
count_login()if循环
if 条件:
do
else:
do[1]补充知识:
utf8与utf8mb4,我的电脑安装配置ini文件中写的是utf8,但是在家里台式机上却不行,用utf8mb4才行得通。
百度解释:
1、MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。
2、好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
二、内容描述
1、那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。
2、三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。
3、也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。
4、包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。
三、问题根源
1、最初的 UTF-8 格式使用一至六个字节,最大能编码 31 位字符。最新的 UTF-8 规范只使用一到四个字节,最大能编码21位,正好能够表示所有的 17个 Unicode 平面。
2、utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面。
3、Mysql 中的 utf8 为什么只支持持最长三个字节的 UTF-8字符呢?可能是因为 Mysql 刚开始开发那会,Unicode 还没有辅助平面这一说呢。
4、那时候,Unicode 委员会还做着 “65535 个字符足够全世界用了”的美梦。Mysql 中的字符串长度算的是字符数而非字节数,对于 CHAR 数据类型来说,需要为字符串保留足够的长。
5、当使用 utf8 字符集时,需要保留的长度就是 utf8 最长字符长度乘以字符串长度,所以这里理所当然的限制了 utf8 最大长度为 3,比如 CHAR(100) Mysql 会保留 300字节长度。
6、至于后续的版本为什么不对 4 字节长度的 UTF-8 字符提供支持,我想一个是为了向后兼容性的考虑,还有就是基本多文种平面之外的字符确实很少用到。
7、要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持(查看版本: select version();)。
8、为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8. 对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 Mysql 官方建议,使用 VARCHAR 替代 CHAR。
安装时所需代码:
白天领导们在的时候可以翻翻书,这里有两本书,《深入迁出数据分析》电子版以及《从0开始python网络爬虫》纸质版
完完全全的看完很难,除去正常的工作外,碎片时间还有晚上可以多翻翻。