mysql设置中文_Flask中MySQL预热

Flask和MySQL

56da7a0d1acf96422c4e3eb307117827.png

导读

现在Flask已经学习到了类视图,它其实是这样一个关系

FLask高级视图

  • 视图函数app.route\add_url_rule

  • 类视图

  • 蓝图blueprint(这个接下来要讲)

结束蓝图后,接着就是Flask数据库的结合SQLAlchemy.在学习SQLAlchemy之前,希望和大家一起了解学习一下mysql

这篇文章不涉及理论,暂时是MySQL 的安装.

以下文章会在周末做成视频上传,以便对照操作.

Centos 安装配置

1.Centos安装

在虚拟机中安装了Centos,准备学习一下mysql,安装过程就不表述了

2.配置中文输入法,安装VMwork-Tool

配置中文输入法:

默认安装完毕之后没有中文输入法,但是可以自己手动调制出来:

直接进入控制中心,选择语言:点击左下角的 “+”号。找到Chinese(China) 或者其它Chinese(..)

直到找到Chinese(Intelligent Pinyin)为止.

装虚拟机工具,只需要把光盘中的压缩文件复制下来,解压缩安装,然后执行重启即可.

3.开启ssh

全部操作使用的是root账户

查看系统时候安装了open-ssh

 # yum list installed | grep sshlibssh2.x86_64                         1.4.3-10.el7_2.1                @anacondaopenssh.x86_64                         7.4p1-11.el7                    @anacondaopenssh-clients.x86_64                 7.4p1-11.el7                    @anacondaopenssh-server.x86_64                  7.4p1-11.el7                    @anaconda

如果没有安装,使用yum命令安装

编辑ssh 的配置文件,以便支持ssh

 # vim /etc/ssh/sshd_config# 打开端口Port 22#AddressFamily any 打开监听任意主机ListenAddress 0.0.0.0ListenAddress ::# 打开远程登陆PermitRootLogin yes# 开启使用用户名密码来作为连接验证PasswordAuthentication yes

sshd 添加到自启动列表

 # systemctl enable sshd

启动服务

 # systemctl restart sshd.service

安装mysql

Centos: Centos7x64

Mysql:MySQL 5.7.32

1.下载安装包

官网:https://dev.mysql.com/downloads/mysql/

  • Select Operationg System中选择Source Code

  • 在下面的Select OS Version选择Generic Linux(Architecture Independent)

  • 然后再下面的部分可以看到Compressed TAR Archive,单击后面的Download

  • 在弹出的界面中选择最下面的No thanks, just start my download就可以开始下载了

下载boost

下载网址为:http://www.boost.org/users/download/ 这个版本的MySQL要求boost的版本是1.59.

 # wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

2.编译安装

安装必要的软件依赖

 # yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel

解压Mysql:

 # tar -zxvf mysql-5.7.32.tar.gz将boost压缩包移动到解压后的源文件中# mv boost_1_65_1.tar.gz mysql-5.7.32

进入Mysql源文件目录,新建configure作为编译目录

 # cd mysql-5.7.32# mkdir configure# cd configure

使用cmake进行编译安装

 # cmake .. -DBUILD_CONFIG=mysql_release \-DINSTALL_LAYOUT=STANDALONE \-DCMAKE_BUILD_TYPE=RelWithDebInfo \-DENABLE_DTRACE=OFF \-DWITH_EMBEDDED_SERVER=OFF \-DWITH_INNODB_MEMCACHED=ON \-DWITH_SSL=bundled \-DWITH_ZLIB=system \-DWITH_PAM=ON \-DCMAKE_INSTALL_PREFIX=/var/mysql/ \-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EDITLINE=bundled \-DFEATURE_SET=community \-DCOMPILATION_COMMENT="MySQL Server (GPL)" \-DWITH_DEBUG=OFF \-DWITH_BOOST=..如果编译错误,需要删除 CMakeCache.txt,从新编译# rm -rf CMakeCache.txt

如果出现以下提示,表示成功:

 -- Configuring done-- Generating done

使用make进行编译;

 # mace# 编译成功的标识[100%] Building CXX object sql/CMakeFiles/udf_example.dir/udf_example.cc.oLinking CXX shared module udf_example.so[100%] Built target udf_example[100%] Built target my_safe_process

安装mysql

 # make install

3.初始化数据库

添加mysql用户,并设置数据库文件夹和日志文件

 useradd -s /sbin/nologin mysqlmkdir /mysql_datamkdir /var/mysql/logchown -R mysql:mysql /mysql_data/chown -R mysql:mysql /var/mysql/log# 创建mysqld_safe 的文件夹mkdir  /var/log/mariadbtouch /var/log/mariadb/mariadb.logchown -R mysql:mysql  /var/log/mariadb/chmod 755 /var/log/mariadb/

修改配置文件:

 # vim /etc/my.cnf# 在[mysqld]中添加[mysqld]port=3306datadir=/mysql_data/log_error=/var/mysql/log/error.logbasedir=/var/mysql/socket=/var/lib/mysql/mysql.sock

初始化数据库

 #/var/mysql/bin/mysqld  --initialize --user=mysql

查看数据文件和日志文件:

 [root@localhost ~]# ll /mysql_data/总用量 122920-rw-r-----. 1 mysql mysql       56 10月 27 03:45 auto.cnf-rw-r-----. 1 mysql mysql      419 10月 27 03:45 ib_buffer_pool-rw-r-----. 1 mysql mysql 12582912 10月 27 04:25 ibdata1-rw-r-----. 1 mysql mysql 50331648 10月 27 04:25 ib_logfile0-rw-r-----. 1 mysql mysql 50331648 10月 27 03:45 ib_logfile1-rw-r-----. 1 mysql mysql 12582912 10月 27 04:25 ibtmp1-rw-r-----. 1 mysql mysql        7 10月 27 04:25 localhost.piddrwxr-x---. 2 mysql mysql     4096 10月 27 03:45 mysqldrwxr-x---. 2 mysql mysql     8192 10月 27 03:45 performance_schemadrwxr-x---. 2 mysql mysql     8192 10月 27 03:45 sys[root@localhost ~]# ll /var/mysql/log/总用量 4-rw-r-----. 1 mysql mysql 802 10月 27 03:45 error.log

4.配置启动文件和环境

从模板文件中复制启动文件

 cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

修改启动文件

 # vim /etc/init.d/mysqld# 找到以下并修改basedir=/var/mysqldatadir=/mysql_data

创建软连接

 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

启动mysqld

 /etc/init.d/mysqld startStarting MySQL. SUCCESS!

设置mysql开机启动

 systemctl enable mysqld

配置环境变量

 # vim ~/.bash_profile# 修改为PATH=$PATH:$HOME/bin:/var/mysql/bin# source   ~/.bash_profile

5.修改root的登录密码

MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码

 # cat /var/mysql/log/error.log | grep password2019-10-26T19:45:57.455760Z 1 [Note] A temporary password is generated for root@localhost: <3FQ)ixj0gh<

初始密码是<3FQ)ixj0gh<

使用初始密码并登录,修改

 # mysql -uroot -pEnter password:mysql> alter user 'root'@'localhost' identified by 'your_password';Query OK, 0 rows affected (0.00 sec)

your_password 是自己设置的新密码(2008.Cn123)

6.开启远程链接

1.修改my.cnf

 vim /etc/my.cnf#找到bind-address = 127.0.0.1这一句,然后注释掉保存退出

2.在服务端开启支持

 mysql> grant all privileges on *.* to 'root'@'%' identified by 'password';mysql> flush privileges;
  • 第一个* ,匹配访问的数据库

  • 第二个*,匹配访问的表

  • root,表示登录的用户名

  • %,匹配任意的ip地址

  • password:匹配root的密码

  • flush 即可生效

3.重启mysql

 service mysql restart

4.本地测试:

 mysql -h 服务器ip地址 -P 3306 -u root -p

使用客户端连接

下载MySQL Workbench并安装,测试链接数据库

安装mycli 并测试链接

 pip install mycli
 $ mycli --helpUsage: mycli [OPTIONS] [DATABASE]Options:-h, --host TEXT               数据库的主机地址。-P, --port INTEGER            用于连接的端口号。Honors $MYSQL_TCP_PORT-u, --user TEXT               连接到数据库的用户名。-S, --socket TEXT             用于连接的套接字文件。-p, --password TEXT           连接到数据库的密码。--pass TEXT                   连接到数据库的密码。-v, --version                 mycli的版本输出。-D, --database TEXT           使用数据库。-R, --prompt TEXT             提示格式 (Default: "\t \u@\h:\d> ")-l, --logfile FILENAME        将每一个查询和它的结果记录到一个文件中。--defaults-group-suffix TEXT  读取指定的后缀的配置组。--defaults-file PATH          只从给定文件中读取默认选项。--auto-vertical-output        如果结果比终端更宽,自动切换到垂直输出模式。--login-path TEXT             从登录文件中读取此路径。--help                        显示此帮助消息

mycli开启多行模式

mycli 默认使用enter结束,mysql工具大多是使用; 来结束的.

临时开启方法:F3

修改配置开启:

 $ sudo vim ~/.myclirc# 找到并将它的值设置为Truemulti_line = True

f92ce69ba11d11a9faa1fcbf9ac9dcb0.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java2实用教程知识点_Java2实用教程(第5版)重要点及遗漏点(三)

4.6.2 类的关联关系和依赖关系的UML图1、关联关系A类中的成员变量是B类声明的对象&#xff0c;那么A和B的关系是关联关系UML图是从A指向B方向实线箭头2、依赖关系A类中某个方法的参数是用B类声明的对象或 …

html首行缩进2字符怎么设置_Word如何设置首行缩进2字符

在使用Word编写书籍或者文稿时&#xff0c;我们都会有个习惯将每个段落前面空两个字符&#xff0c;这样可以很好的方便读者阅读时分辨段落。有的人习惯用几个空格来代替&#xff0c;有的人习惯用空白字符V1来代替(像Word联盟网站上的每篇教程就是用V1来标记段落的)。其实在Word…

java 面试什么是类_Java 面试题代码类收集

long temp(int)3.9;System.out.println(temp);temp%2;System.out.println(temp);31View CodeJava里面类的方法名可以与类名一样&#xff0c;与构造函数的区别是方法有返回值&#xff0c;构造函数没有。public classUserInfo {publicUserInfo(){}publicString UserInfo(){return…

idea jdk配置_在IDEA中DEBUG Javac源码

背景在做JSR269的深度解析的时候&#xff0c;需要对javac的源代码进行单步调试并跟踪。因此在这里记录下具体的调试步骤。调试环境&#xff1a;OS: MacOS 10.14.5JDK&#xff1a;JDK_1.8IDEA: IntelliJ IDEA 2019.1.3下载Javac源码可以直接用JDK的github镜像仓库处下载&#xf…

mysql嵌套选择代码_关于mysql:嵌套联合选择语句

是否可以对我的sql SELECT语句的结果进行分组而不创建临时表以对一条语句进行求和和分组&#xff1f; 我有一张表格&#xff0c;保存贷方帐户号和借方帐户号的借方和贷方总额。并为相反的字段输入零&#xff0c;我在下面的联合选择语句下进行了第一个分组&#xff0c;我需要根据…

jar中没有主清单属性_还在因 JDK 兼容问题发不同 JAR 包做兼容?MRJAR 了解一下?...

背景Java 9 版本中增强了Jar 包多版本字节码文件格式支持&#xff0c;也就是说在同一个 Jar 包中我们可以包含多个 Java 版本的 class 文件&#xff0c;这样就能做到 Jar 包升级到新的 Java 版本(新特性 API 使用)时不用强迫使用方为了使用新 Jar 包而升级自己的业务模块 Java …

java中哪些可以私有化_《Java基础学习笔记》JAVA修饰符之私有化(Private)

1&#xff0c;什么是private修饰符&#xff1f;private是权限修饰符&#xff0c;用于修饰类中的成员(成员变量&#xff0c;成员函数)。private修饰后的成员只在本类中有效。/* 例&#xff1a;* 将age私有化以后&#xff0c;类以外即使建立了对象也不能直接访问。* 但是人应用有…

python不定长参数_Python 函数参数之不定长参数(*args/**kwargs)、匿名函数 Lambda详解...

Python 调用函数时可使用的正式参数类型&#xff1a;必需参数 (位置参数)、关键字参数 (keyvalue)、默认参数 (keydefault)、不定长参数(可变参数)、强制位置参数(组合传参)Tips&#xff1a;有兴趣的还可以了解一下什么是形参&#xff1f;什么是实参&#xff1f;不定长参数 *a…

java第一天上班需要安装那些_明天第一天上班,应该带什么包啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼“下面拍卖的是一位道友在上古遗存下来的仙殿中得到的一盒炫迈&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;”大厅中顿时一片嘈杂.......拍卖行的老者摆了摆手示意让大家静一静然后慢悠…

java代码例子_程序员快速弄清Java异常体系,拒绝痛苦编程,开发效率加倍

知己知彼方能百战不殆,在小编初学Java时候特别怕程序报异常,经常会因为异常不知所措,相信这个问题应该是所有 初学者都会有的心理感受;如果你也有这种感受,那么只有一种解决方法: 迎难而上,攻克Java异常体系,长痛不如短痛,只要清楚了Java的异常体系,就不会再有这种感受了。下面…

java多条件判断_Java基础教程,第七讲,条件控制、循环语句、数组

学完此次课程&#xff0c;我能做什么&#xff1f;学完此次课程我们将掌握Java中的条件判断和多种循环语句&#xff0c;并且掌握数组的定义和初始化&#xff0c;以及几个常用的数组函数。学习此次课程&#xff0c;需要多久&#xff1f;10分钟课程内容和其他语言一样Java使用条件…

文件上传java前端怎么写_做一个文件上传,前端是ajax提交数据后台是java,这个错误怎么办...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼严重: Servlet.service() for servlet [dispatcherServlet] in context with path [/bazx] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to …

python对文件操作的相关函数_超全!python的文件和目录操作总结

文件的基本读写path rC:UsersBradyDocumentstmpwith open(path rdemo.txt, r, encodingutf-8) as f:content f.read()print(content)open()函数open(file, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)Open file and return a cor…

qq机器人源码_基于Springcloud+vue+oAuth2.0全家桶模拟商城项目源码分享

项目介绍功能点&#xff1a;模拟商城&#xff0c;完整的购物流程、后端运营平台对前端业务的支撑&#xff0c;和对项目的运维&#xff0c;有各项的监控指标和运维指标。技术点&#xff1a;核心技术为springcloudvue两个全家桶实现&#xff0c;采取了取自开源用于开源的目标&…

java静态页面我都做不出_Java高并发:静态页面生成方案

提升网站性能的方式有很多&#xff0c;例如有效的使用缓存&#xff0c;生成静态页面等等。今天要说的就是生成静态页面的方式。这个也是我近期一直在搞的一个问题&#xff0c;近期在做使用html servlet做个人网站&#xff0c;为什么是这2个东西呢&#xff1f;1、直接用servlet…

python 工厂模式与单例模式_python基础单例模式 工厂模式 策略模式 观察者模式...

一、单例模式单例&#xff1a;单个实例&#xff0c;确保某个类只有一个实例存在举例&#xff1a;1、登录app&#xff0c;当前的登录对象&#xff0c;只能有一个2、音乐播放器&#xff0c;正在播放的歌曲类而言&#xff0c;只能有一个实例1 import my_util # 被导入的模块会从…

js sleep函数_简单而面试中又常见的知识点:JS执行机制

在开始讲解之前&#xff0c;我们先来看一段代码&#xff1a;console各位小伙伴觉得上面的结果输出会是多少呢&#xff1f;如果你没有了解过javascript的执行机制的话&#xff0c;上面的题目可能会让你崩溃。不过别着急&#xff0c;先往下看&#xff0c;我保证你看到最后&#x…

护卫神怎么增加php版本_护卫神php套件 php版本升级方法(php5.5.24)

最近小编开始学习研究win2008 r2的php环境配置&#xff0c;发现护卫神的php套件非常好用&#xff0c;安装简单&#xff0c;但是因为php版本不是最新的版本&#xff0c;所以就想将php升级下&#xff0c;因为新版的php修复了一些bug所以这里就分享下方法&#xff0c;需要的朋友可…

servlet中doget和dopost的区别_Servlet学习

一.HTTP协议浏览器 ----------------------------------------->服务器请求 http协议&#xff08;包含&#xff1a;1.请求行2.请求头3.空行4.请求实体&#xff09;url浏览器<-------------------------------------------服务器 响应htmlcssjsdata数据特点&#xff1a; 1…

python numpy dtype object_如何将(dtype = object)numpy数组值设置为Python列表,而不将numpy解释为值列表?...

我有一个dtype object数组,其中的值是Python列表或np.nan.我想用[无](不是无)替换np.nan的值.对于一个纯Python列表,我已经可以使用[x if(x不是np.nan)其他[无] for x in s],并且将数组转换为列表对我来说很好,但是出于好奇,我想知道如何使用numpy数组来完成这项工作.困难在于…