源码安装MySQL5.5.20

本文介绍了MySQL关联数据库管理系统,其数据以表格形式存储,使用SQL语言。详细说明了MySQL数据库的安装方法,包括RPM|YUM在线远程安装和基于源码通过GCC环境编译安装,还列举了安装和启动过程中常见的报错及解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 **注意 :Myisam:MYSQL5.5之前默认引擎,不支持事务、不支持外部键、表锁、应用于大量的select,查询比较多。 MySQL5.5以后不支持./configure编译,使用cmake编译。**

1、MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
3)MYSQL数据库特点:
 数据以表格的形式出现;
 每行记录数据的真实内容;
 每列记录数据真实内容的数据域;
 无数的行和列组成一张表;
 若干的表组成一个数据库;
2、MYSQL数据库安装:
1)选择数据库版本,MYSQL-5.5以及操作系统版本;
2)RPM|YUM在线远程安装;
yum install mysql mysql-server mysql-devel -y CentOS6.x默认安装;
yum install mariadb mariadb-server mariadb-devel -y CentOS7.x默认安装;
3)基于源码通过GCC环境编译安装;
mysql-5.5.20.tar.gz 链接:https://pan.baidu.com/s/1g_konWGzU7EMi0PbcquL0Q
提取码:stwn

MYSQL官网下载MYSQL源代码,MYSQL-5.5.8+基于cmake编译;
wget -c http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz
tar -zxvf mysql-5.5.20.tar.gz
cd mysql-5.5.20
ls
rm -rf /usr/local/mysql55/ #删除之前安装的MySQL
在这里插入图片描述
然后开始编译
yum install cmake ncurses-devel ncurses -y
configure|cmake C、C++编写,通过GCC环境反编译成二进制文件,检查操作系统GCC编译环境;
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
-DMYSQL_USER=mysql
-DMYSQL_TCP_PORT=3306
-DWITH_XTRADB_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLED_LOCAL_INFILE=1
-DWITH_EXTRA_CHARSETS=1
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_BIG_TABLES=1
-DWITH_DEBUG=0
编译出错 :
CMake Error: The source directory “/root” does not appear to contain CMakeLists.txt.
CMake错误:源目录“/root”似乎不包含CMakeLists.txt。

在这里插入图片描述
第二次编译出错,CMake Error: your CXX compiler: “CMAKE CXX COMPILER-NOTFOUND” was not found. Please set CMAKE CXX COMPILER to a valid compiler path or name.
CMake错误:您的CXX编译器:“CMake CXX编译器- notfound”没有找到。请将CMAKE CXX编译器设置为有效的编译器路径或名称。
在这里插入图片描述
解决方法:
yum install gcc-c++
rm -f CMakeCache.txt

make 基于GCC编译,生成可运行bin文件、二进制文件;
make install 将二进制文件、bin文件CP到操作系统目录;
在这里插入图片描述
在这里插入图片描述
make install之后,查看MySQL服务
在这里插入图片描述
MySQL安装成功。
在这里插入图片描述

2、将源码安装的MySQL数据库服务设置为系统服务,可以使用chkconfig管理,并启动MySQL数据库 。
cd /usr/local/mysql55/
\cp support-files/my-large.cnf/etc/my.cnf
\cp support-files/mysql.server/etc/init.d/mysqld
chkconfig —add mysql #把MySQL添加到系统服务
chkconfig --level 35 mysqld on #启动级别是35
mkdir -p /data/mysql
useradd mysql
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55//
ln -s /usr/local/mysql55/bin/*/usr/bin/

实例 :
cd /usr/local/mysql55/
cd support-files/
注意 : my-large.cnf常用在大型数据库、项目;
在这里插入图片描述
拷贝一个中小企业常用的配置文件my-medium.cnf
#cp my-medium.cnf /etc/my.cnf

#cp support-files/mysql.server /etc/init.d/mysqld
#cp mysql.server /etc/init.d/mysqld #拷贝完成之后,赋予一个执行权限。

在这里插入图片描述

在这里插入图片描述
设置开机启动
#chkconfig --add mysqld
#chkconfig mysqld --level 35 on
#启动级别是3和5
#chkconfig --list | grep mysql #查看MySQL启动级别

#service mysqld start #启动MySQL服务

在这里插入图片描述
报错,解决方法和步骤
1) 看MYSQL错误日志;
/usr/local/mysql55/bin/mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13)
解决方法:
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/ 初始化数据库;
mysql
-bash: mysql: command not found
2)关闭selinux服务;
3)防火墙不需要关闭;
4)重启mysqld服务;
5)查看MYSQL进程:ps -ef|grep mysql

实例 :
查看MySQL服务,并重启MySQL,尝试切换MySQL目录,
在这里插入图片描述
如果没有,/data/mysql目录,就使用创建mkdir -p /data/mysql目录,
在这里插入图片描述
切换到/data/mysql目录,查看有没有错误日志。
在这里插入图片描述
MySQL启动失败 :
在这里插入图片描述
解决方法:
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/ 初始化数据库;

制作一个软连接
#ln -s /usr/local/mysql55/bin/ /usr/bin/

常见报错 :
1、170723 07:55:44 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql55/data
/usr/local/mysql55/bin/mysqld: Table ‘mysql.plugin’ doesn’t exist
170723 7:55:44 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
MYSQL无法启动,如何解决:
1) 初始化MYSQL数据库;
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/
chown -R mysql.mysql /data/mysql/
在这里插入图片描述
/etc/my.cnf [mysqld]段落添加:
datadir = /data/mysql/
后台启动MYSQL服务:
nohup /usr/local/mysql55/bin/mysqld_safe --user=mysql&
在这里插入图片描述
在这里插入图片描述
将MYSQL完整路径加入系统环境变量:/etc/profile
export PATH=$PATH:/usr/local/mysql55/bin/
在这里插入图片描述
或者添加快捷方式|软链接:
ln -s /usr/local/mysql55/bin/* /usr/bin/

在这里插入图片描述
create database jfedu666 charset=utf8;
use jfedu666;
create table test001 (id char(20),name char(30),age varchar(10),job char(20));

在这里插入图片描述
2) 对MYSQL数据目录授权;
3) 启动MYSQL数据库;

2、MySQL 源码编译安装报错 CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
答 : 解决方法:
yum install gcc-c++
rm -f CMakeCache.txt

3、

4、

参考链接 :
https://blog.youkuaiyun.com/gua___gua/article/details/49764519

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值