首先,找到 mysql 官网, 找到对应的版本, 将下拉列表项选择 source code 选项。
然后,选择和操作系统匹配的版本, 我的是 red hat enterprise 7
下载 *.src.rpm 文件包到本地
命令 1 rpm2cpio MySQL-5.6.25.1.el7.src.rpm | cpio -div
解压得到 mysql-*.tar.gz 源码压缩包
命令 2 tar -xzf mysql-5.6.25.tar.gz
解压得到文件源码目录, 按照源码步骤安装即可
-----------------------------------------------------
mysql 源码安装
1. 使用 yum install 先来安装 mysql 编译的时候需要依赖的工具
# yum install cmake
# yum install bison
2. 创建 mysql 用户和用户组
# groupadd mysql
# useradd -g mysql mysql
3. 切换路径至 mysql 解压之后的源码文件夹
创建 cmakeFolder , 目的是缓存编译生成的文件, 如果安装出错可以直接清空该文件夹,不会‘污染’ 源码文件夹
4. 切换路径至 cmakeFolder
# cmake ../
5. 出现系统找不到依赖库 , 报错 ----> 清空 makeFolder 中的文件
# yum install ncurses-devel / 如果 os 是 ubuntu 的话, 使用命令 #apt-get install libncurses5-dev
6. 重新切入路径至 cmakeFolder
#cmake ../ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
正确编译显示如下信息7. 执行命令 make && make install
安装开始
如果计算机配置比较好,可以 make -j 8-128 来启动多线程进行编译,配置较差的话就不行了,虚拟机会卡。
遇到编译中断,很大可能都是出现不可再现的系统错误,只需要重新输入 make && make install 即可继续安装。
8. 成功安装之后,来试着启动 mysql
将路径切换至, /usr/local/mysql/scripts/
# ./mysql_install_db --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data--defaults-file=/etc/my.cnf
8.1 修改 /etc/my.cnf 文件,如下所示
8.2 根据文件来在系统中创建对应的文件夹
8.3 启动 mysql 服务器
路径切换至 /usr/local/mysql/bin
# ./mysql_safe --defaults-file=/etc/my.cnf --user=root &
8.4 启动 mysql 命令行客户端
# ./mysql
# show databases ;
7.25
今天启动 mysql 的时候报错, 启动 mysql 服务器总是失败,当然,登陆 mysql 客户端也不成功。
具体的原因是没有在mysq 的主目录下面为 mysql 用户分配相关的权限,
解决方法是, 首先切换到 mysql 安装的路径下面,
# cd /usr/local/mysql
# chown -R mysql.mysql .
然后重新启动
# /etc/init.d/mysql start
# ./mysql
启动成功
在这里,再记录一下,
将 linux 系统中安装的mysql 设置为大小写不敏感的方法,
在 windows 系统中, mysql 默认的是大小写不敏感,就是两张表 TEST, test ,
在 windows 下面无法存在于同一个数据库中,因为表名称一样/大小写不敏感,对于 windows 来说, TEST=test .
但是在 linux 下面默认的是 TEST != test , 这样会在数据库中间件通过配置文档查找数据表的时候,
会找不到名称为 test , 实际上在数据库中以 TEST 名称存放, 的数据表。
在 linux 下设置大小写不敏感的方法, 打开 /etc/my.cnf 文件
在 [mysqld] 下面添加
lower_case_table_names=1
在重新启动数据库服务即可, 但是这次重启再次失败,
将存放数据文件信息全部删除/注意是删除配置信息, 而非删除数据库相关文件
将作为 mysql data dir 下面的配置文件全部删除,
在我的linux 上面就是,删除了 /usr/local/mysql/data/ 下面除了文件夹之外的所有文件,
这些文件都是 mysql 数据库启动的时候写入到该路径下面的,
下次启动还会生成,所以无需担心删除之后对数据库造成无法启动的后果。
再次启动数据库即可
end