一号热搜榜,为您提供最新的热搜资讯,热搜榜信息!

MySQL之安装方式,初始化,连接

科技热搜 作者:互联网收集 热度:803

MySQL之安装方式,初始化,连接

最好的安装方式就是不安装,直接初始化就能用,没错,这种方式就是下载二进制版本,解压后就能进行初始化,投入使用。其它的安装方式,无非2种,一是源码编译安装,二是使用安装包,Linux下使用yum之类系统安装工具。最麻烦的是源码编译安装了,这种方式往往可定制性非常灵活,可以选择需要的组件进行编译,本文介绍的是二进制包安装和编译方式安装。废话不多讲,先从简单的开始。

既然要使用进制安装MySQL,得先下载相应的安装包,那肯定是要从官网下载了,这是必须的,因为官网是权威的,正确性和可靠性都有保障(好像是废话)。

win10安装程序 SAFE OS

MySQL 社区版本 下载页面:https://downloads.mysql.com/archives/community/

win10安装程序 SAFE OS

下载二进制包时,在 operating system下拉列表选择:Linux-Generic ;在 OS Version 下拉列表中选择对应的glibc版本和平台架构(32位或64位)。

下载源码包时,在 operating system下拉列表选择:Source Code ;在 OS Version 下拉列表中选择对应的glibc版本和平台架构(32位或64位)。

在 OS Version 这个选择框里可能会出现不同的glibc版本,要怎么选择?那还要看linux操作系统中的glibc的版本是什么,一般情况是高版本兼容低版本。

查看系统glibc版本方法:下面是centos7.9 x64的输出。

二进制包安装官方文档:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

mysql依赖libaio这个库,需要先行安装

在rhel8或centos8等8版本还需要安装一个包,叫ncurses-compat-libs

安装方式如下:

下面是官网给出的安装步骤:

以上部骤暂且执行到第5行,后面的是在初始化数据库,在后面再介绍。

解压出的目录里包含了mysql所有的启动命令和相关文件,但是每次要执行mysql相关命令时都要写全路径,这有点不方便,我们希望在shell里直接就能运行而不需要打全路径,一个通常的做法是将mysql/bin这个目录加入环境变量PATH中。通常建议写一个shell脚本放到/etc/profile.d/目录下,要想立即生效,source一下这个脚本 ,或者重启系统也可以生效。

源码包安装官方文档:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html

如果要想安装过程顺利,其实是有先决条件的:https://dev.mysql.com/doc/refman/8.0/en/source-installation-prerequisites.html

MySQL5.7 要求make版本在3.75或以上

MySQL8.0 cmake要求:

此外还有这几个包:ncurses、openssl、 openssl-devel、perl

如果安装的mysql是开发版本,还要求bison 2.1 或更高版本

总之,缺少什么就安装什么。

源码包的安装方式比二进制安装,多了如下3步:

官网的安装步骤如下:

默认情况下,源码安装时,mysql被安装到了这个目录:/usr/local/mysql,当然也可以加参数进行指定,都有哪些参数呢,这里简单列出一些,供参考:

参数名

解释说明

CMAKE_BULD_TYPE

用来指定编译的是RELEASE版本还是DEBUG版本,或者是RelWithDebInfo版本的

CMAKE_INSTALL_PREFIX

用来指安装路径,即安装到哪个目录

MYSQL_DATADIR

用来生成默认的数据库路径,即在没有指定启动参数--defaults-file时的默认数据库路径

OPTIMIZER_TRACE

用来指明是否打开优化器TRACE模块

WITH_ARCHIVE_STORAGE_ENGINE

是否支持Archive存储引擎

WITH_INNOBASE_STORAGE_ENGINE

是否支持InnoDB存储引擎

WITH_BLACKHOLE_STORAGE_ENGINE

是否支持BLACKHOLE存储引擎

WITH_EXAMPLE_STORAGE_ENGINE

是否支持EXAMPLE存储引擎,示例引擎

WITH_INNODB_MEMCACHED

表示是否支持INNODB的MEMCACHED

WITH_PARTITION_STORAGE_ENGINE

表示是否支持partition存储引擎

WITH_SYSTEMD

启用systemd支持文件,即可以使用systemctl 来管理MySQL的启动、停止、重启

以上这些选项可以在CMAKE命令中通过在前面加上-D来指定相应的值,下面给出示例:

关于更多的CMAKE选项,参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html

默认参数情况下,不会产生systemd 的支持文件,这里我在安装的时候,其它所有选项保持默认,只加了一个-DWITH_SYSTEMD=ON这个参数,用来产生mysqld.service文件。

cmake执行完成后会看到如下提示:

接下来执行 make,加上 -j 4 表示启动4个线程执行make,这样会快一些(根据内存大小,否则线程越多,占用内存越多,搞不好就把机器搞挂了,我在4G虚拟机内存下启10个线程就挂了),完成后如下提示:

执行make install进行安装

在cmake的时候加了产生systemd文件的参数,看看有没有产生,可以看到确实产生了,mysqld.service的文件,后面就可以使用systemctl来管理服务端了。

有了mysqld.service的文件,还得把它放到合适的路径下,一般是/usr/lib/systemd/system/下,再执行systemctl daemon-reload 才可以使用。

MySQL的systemd管理具体详情参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/using-systemd.html

不管用什么方式安装的数据库,初始化过程都是一样的,一般是先创建一个数据目录用于存放数据,对这个目录配置所属用户和组及权限,初始化完成后,会在这个目录下生成相应的文件,以后所有数据都会存放在这个文件夹下。

官方的操作如下:

初始化官方文档:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html

通常在初始化时会指定一个配置文件,叫my.cnf,位于安装目录support-files目录下,如果没有就手动创建,放在/etc/目录下即可。

初始成功后,会有数据库的初始密码返回:

常用的mysql连接的2种方式:

第一次连接mysql后,其实不能执行任何命令,会提示要更改密码,改密码方式如下:

此时的MySQL服务器也只能从本机登录,原因是root用户的Host主机字段值为localhost。

标签: MySQL     初始化     连接