源码安装MySQL5.5.20

 **注意 :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
源码安装MySQL5.5.20_第1张图片
然后开始编译
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。

源码安装MySQL5.5.20_第2张图片
第二次编译出错,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编译器设置为有效的编译器路径或名称。
源码安装MySQL5.5.20_第3张图片
解决方法:
yum install gcc-c++
rm -f CMakeCache.txt

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

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常用在大型数据库、项目;
源码安装MySQL5.5.20_第7张图片
拷贝一个中小企业常用的配置文件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服务

源码安装MySQL5.5.20_第8张图片
报错,解决方法和步骤
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目录,
源码安装MySQL5.5.20_第9张图片
如果没有,/data/mysql目录,就使用创建mkdir -p /data/mysql目录,
源码安装MySQL5.5.20_第10张图片
切换到/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/
源码安装MySQL5.5.20_第11张图片
/etc/my.cnf [mysqld]段落添加:
datadir = /data/mysql/
后台启动MYSQL服务:
nohup /usr/local/mysql55/bin/mysqld_safe --user=mysql&
源码安装MySQL5.5.20_第12张图片
源码安装MySQL5.5.20_第13张图片
将MYSQL完整路径加入系统环境变量:/etc/profile
export PATH=$PATH:/usr/local/mysql55/bin/
源码安装MySQL5.5.20_第14张图片
或者添加快捷方式|软链接:
ln -s /usr/local/mysql55/bin/* /usr/bin/

源码安装MySQL5.5.20_第15张图片
create database jfedu666 charset=utf8;
use jfedu666;
create table test001 (id char(20),name char(30),age varchar(10),job char(20));

源码安装MySQL5.5.20_第16张图片
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.csdn.net/gua___gua/article/details/49764519

你可能感兴趣的:(运维,数据库)