Flask和MySQL

mysql中文菜单 mysql中文设置_MySQL

导读

现在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