mysql安装包安装教程
MySQL是一个开放源码的小型关联式数据库管理系统。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为...
2024.11.12实验报告——MySQL的安装
一、源码安装 MySQL
1、 系统环境:Centos7.3 x86_64
因为 centos7.2 默认安装了 mariadb-libs,为了避免发生端口冲突、程序冲突,所以先建议查看是否安装 mariadb,然后将其卸载掉。
· 查看是否安装了mariadb
#rpm -qa | grep mariadb
· 卸载 mariadb
rpm -e mariadb-libs --nodeps (--nodeps:忽略依赖关系,强制卸载)
2、安装依赖包(cmake、ncurses、bison、boost、gcc)
注: 相关依赖包的作用
· cmake:由于从 MySQL5.5 版本开始弃用了常规的 configure 编译方法,所以需要 CMake 编译器,用于设置 mysql 的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。
· ncurses:计算机语言,是提供字符终端处理库
· bison:Linux 下 C/C++语法分析器,是一个通用的解析器生成器,是属于 GNU 项目的一个语法分析器生成器。bison 把一个关于"向前查看 从左到右 最右"(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成 "通用的 从左到右 最右" (GLR)语法分析器。
· Boost:boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。从 MySQL 5.7.5 开始 Boost 库是必需的,mysql 源码中用到了C++的 Boost 库,要求必须安装 boost1.59.0 或以上版本
· GCC: 是 Linux 下的 C 语言编译工具,mysql 源码编译完全由 C 和 C++编写,要求必须安装GCC。(一般都有安装,可通过"gcc -v"查看,如果系统上安装了gcc编译器,这条命令就会显示出当前安装的gcc编译器是哪个版本;如果提示命令找不到,则表明没有安装。没安装的话,可以从系统自带的光盘中安装一哈)
1)安装文件准备
下载 cmake、ncurses、bison、Boost、mysql源码包(请忽略我一会所使用的源码包版本,比较旧。如果对版本要求严格的,可以从下面的链接地址或自己找官网进行下载,版本众多,可以自由选择,)
2)安装CMAKE 及必要的软件
A.安装 cmake
B.安装 ncurses
C. 安装 bison
D.安装 bootst
3)创建 mysql 用户和用户组及目录
# groupadd -r mysql ---创建msyql 组
# useradd -r -g mysql -s /bin/false -M mysql ---创建msyql 用户并禁止登录 shell
#mkdir /usr/local/mysql---创建目录
#mkdir /usr/local/mysql/data---数据库目录
3、编译安装 mysql
解压 mysql 源码包、执行 cmake 命令进行编译前的配置、开始编译、编译安装。如下图:
上图中配置解释:
· -DCMAKE_INSTALL_PREFIX=/usr/local/mysql:MySQL安 装 的 根 目录
· -DMYSQL_DATADIR=/usr/local/mysql /data:MySQL 数据库文件存放目录
· -DSYSCONFDIR=/etc:MySQL 配置文件所在目录
· -DWITH_MYISAM_STORAGE_ENGINE=1:添加 MYISAM 引擎支持
· -DWITH_INNOBASE_STORAGE_ENGINE=1:添加 InnoDB 引擎支持
· -DWITH_ARCHIVE_STORAGE_ENGINE=1:添加 ARCHIVE 引擎支持
· -DMYSQL_UNIX_ADDR=/usr/local/mysql /mysql.sock:指定 mysql.sock 位置
· -DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
· -DEXTRA_CHARSETS=all:使 MySQL 支持所有的扩展字符
· -DDEFAULT_CHARSET=utf8:设置MySQL 的默认字符集为utf8
· -DDEFAULT_COLLATION=utf8_general_ci:设置默认字符集校对规则
· -DWITH-SYSTEMD=1:可以使用 systemd 控制 mysql 服务
· -DWITH_BOOST=/usr/local/boost:指向 boost 库所在目录
4.安装后的其他调整
1)优化执行路径
2)设置数据库目录的权限
#chown -R mysql:mysql /usr/local/mysql ---更改属主,属组。
3)初始化数据库
注 1:MySQL 5.6 之前的版本执行下面初始化系统数据库
#/usr/local/mysql/bin/mysql_install_db--user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
# 5.7 之后版本初始系统数据库脚本(图中使用此方式初始化)
#/usr/local/mysql/bin/mysqld--initialize-insecure--user=mysql--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
注2:如果使用–initialize 参数初始化系统 数据库 之后,会生成 root 用户的一个临时密码, 如上图标记所示。
4)创建配置文件
# cd/usr/local/mysql/support-files---进入MySQL 安装目录支持文件目录
# cpmy-default.cnf /etc/my.cnf---复制模板为新的配置文件,
修改文件中配置选项,老的版本一般有这个文件,如果没有这个文件可以直接在/etc下编辑my.cnf文件。如下图所示,添加如下配置项
5)配置MySQL自动启动
5.登录MySQL数据库
#mysql -u root -p -----回车输入初始化时生成的随机密码
初始化生成的密码比较复杂,很难记忆,所以可以更改密码。如下图
至此MySQL数据库的安装就完成了。下面是我在做实验过程中的报错及解决方法。
二、记忆深刻
1.初始化的时候失败
解决方法:(/usr/local/mysql/data)data目录下有文件,删了即可
2.数据库启动失败
服务启动失败,查看错误日志文件
在mysqld.service,把默认的pid文件指定到了/var/run/mysqld/目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给mysql用户。如下图:
上面这种方法是临时的,因为/var/run下的目录关机就没了,最好采用下面修改文件的方法:修改/usr/lib/system/system/mysqld.service,修改内容如下:
#systemctl daemon-reload -----重载服务
再次启动mysql服务
3.忘记了初始化产生的随机密码
在配置文件/etc/my.cnf的mysqld下加skip-grant-tables跳过密码认证
重启服务就可以无密码登录了,无密码登陆后修改密码。如下图:
注:
1.mysql5.7以后mysql.user表中没有了password字段,而是使用authentication_string来代替。
2.注释掉或删除配置文件/etc/my.cnf里的skip-grant-tables (不删除,密码不会生效)
最后重启服务,或加载配置文件就生效了
4.需要重新运行cmake配置
若要重新运行cmake配置,需要删除CMakeCache.txt文件。
#make clean
#rm -f CMakeCache.txt
5.加快编译速度的方法(我没用过,所以不知道是不是真的有效,这是偶然看到的,所以记了一下)
make -j $(grep processor /proc/cpuinfo | wc –l)
· -j 参数表示根据 CPU 核数指定编译时的线程数,可以加快编译速度。默认为 1 个线程编译。
bin/mysqld --initialize--user=mysql--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
本文为个人实验文档,不求认同,不做讨论。
MySQL是一个开放源码的小型关联式数据库管理系统。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为...
2024.11.121 下载MySQL压缩包官网下载地址https://www.mysql.com/downloads/选择社区版本点击Archives选择对应版本进行下载2 安装包格式的安装2.1 解压压缩包并配置环境...
2024.11.15实验目的:进一步了解关于存储过程和触发器的定义及实现实验名称:存储过程、触发器的定义以及验证实验内容:完成以下关于存储过程和触发器的定义以及验证。1.[例7.50] 输入某个同学的学号,统计该同学的平...
2024.11.13学习MySQL数据库的第一步当然就是安装mysql,也上网搜索了以下mysql教程,但是发现现在MySQL安装和之前的不一样了,而网上都是旧版的安装教程,所以今天就分享一篇最新的MySQL安装教程。跟...
2024.11.12一、 下载MySQLMysql官网下载地址https://downloads.mysql.com/archives/installer/1. 选择想要安装的版本,点击Download下载本篇文章选择的...
2024.11.06