Linux MySQL5.5源码安装
环境:CentOS7,MySQL5.5
1.MySQL5.5源码下载
Oracle的网站打开较慢,http://mirrors.sohu.com/mysql/这里提供了MySQL的镜像。一般的,Linux的程序安装有两种方式:A利用RPM,YUM等工具 B手动安装。其中手动安装又有两种方式,一种是直接下载已经编译好的二进制文件,另一种是下载源码手动编译。我们这里尝试下载源码手动编译的方式。
如何区分下载文件列表的文件是已编译好的二进制文件,还是源码文件:
A.文件大小。由于从源码编译为二进制文件,会利用到一些静态链库。因此一般的源码文件比编译好二进制文件要小。
B.文件名。因为不同的平台编译出的二进制文件不一样,因此一般的编译好的二进制文件的包名里会明确写出该包适用的平台。例如mysql-5.5.40-linux2.6-x86_64.tar.gz。而源码一般不会这样写。
C.将下载的文件解包后,如果有bin文件夹,一般可以说明该文件包是编译好的二进制文件。
2.编译源码
- MySQL从5.5开始使用cmake 编译工具。首先安装cmake:yum install cmake
- 创建一个MySQL用户
#groupadd mysql
#useradd -g mysql mysql- 解包:在/usr/local/src下将tarball解开
#tar -zxvf mysql-5.5..tar.gz
- 构建Makefile文件
#cd mysql-5.5./
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5. \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql
-DSYSCONFDIR=/etc # mysql配置文件 my.cnf的存放地址,默认为/etc下
-DMYSQL_TCP_PORT= # 数据库服务器监听端口,默认为3306
-DWITH_SSL=yes # 支持 SSL
-DMYSQL_USER=mysql # 默认为mysql //下面3个是数据库编码设置
-DEXTRA_CHARSETS=all # 安装所有扩展字符集,默认为all
-DDEFAULT_CHARSET=utf8 # 使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci # 校验字符 //下面5个是数据库存储引擎设在
-DWITH_MYISAM_STORAGE_ENGINE= # 安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE= # 安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE= # 安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE= # 安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE= # 安装数据库分区//在这个过程中,可能会因为缺少某些包而报错,参照报错信息用YUM安装相关的包,然后删除Makefile.txt,重新构建。这个步骤在错误信息中有详细说明
执行安装
#make
#make install
3.创建数据库
- 设置配置文件
#cp support-files/my-medium.ini /etc/my.cnf
//MySQL提供了my-small.ini、my-medium.ini、my-large.ini、my-huge.ini几个文件,根据实际环境选择合适的文件作为参考 // Uncomment the following if you are using InnoDB tables
5 #innodb_data_home_dir = /var/mysql5./data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/mysql5./data # default-storage-engine=InnoDB
# user = mysql其他的配置根据实际情况调整,在重启MySQL后生效
创建数据库
# ./scripts/mysql_install_db --basedir=/usr/local/mysql5. --datadir=/var/mysql5./data
2 # export PATH=/usr/local/mysql5.5/bin:$PATH启动/关闭数据库
# ./bin/mysqld_safe & //说明
A.数据库在启动的时候,会打出这样一个信息:mysqld_safe Logging to '/usr/local/mysql5.5/data/localhost.err
如果数据库启动不成功,可以参照这个Log的信息查找具体原因,例如:
/usr/local/mysql5.5/bin/mysqld: File './mysql-bin.000004' not found (Errcode: 13)
这个问题是由文件权限引起的,我们在安装过程中由于在root和mysql及其它用户间切来切去,导致mysql用户没有正确的权限访问文件解决方法
#chown -R mysql:mysql /usr/local/mysql5.5 //注意-R的参数
B.即使数据库正常启动,A中所说的Log中的某些警告信息同样具有参考价值2 # ./bin/mysqladmin -u root -p shutdown
连接数据库
#mysql -h localhost -u root -p
- 编辑PATH。将MySQL的 PATH编辑进系统配置文件
//对系统的所有用户都生效
#/vi /etc/profile
PATH=/usr/local/mysql5./bin:$PATH //只对当前用户生效
$cd
$vi bash_profile
PATH=/usr/local/mysql5./bin:$PATH发生的一些错误
1. 'Access denied for user 'root'@'localhost' (using password: YES)':
发生原因,没有正确设置root的密码,如果直接连接数据库 mysql -u root,并执行select password from user where user='root',
会发现查到的password都为空。在这种情况下,如果不重新设置password,那么可以执行#mysql -h localhost -u root -p,然后在需要输入密码的时候,直接回车就可以Login了,因为root的密码本来就为空。当然,最好还是重新设置一下root密码。
Linux MySQL5.5源码安装的更多相关文章
- Linux平台下源码安装mysql多实例数据库
Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...
- mysql5.6源码安装(转)
mysql5.6源码安装 转自 jabbok博客园 https://www.cnblogs.com/jabbok/p/9418344.html 1 编译安装 1 2 3 4 5 6 groupadd ...
- MYSQL5.5源码安装 linux下
/* 首先安装必要的库 */ yum -y install gcc* ###### 安装 MYSQL ###### 首先安装camke 一.支持YUM,则 yum install -y cmake 二 ...
- Mysql5.5源码安装步骤笔记记录
1.cmake软件的安装wget https://cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gztar xf cmake-3.5.0.tar.gzcd cmak ...
- Linux 6.8 源码安装MySQL8.0
搭建环境说明: 系统版本:Red Hat Enterprise Linux Server release 6.8 (Santiago) 内核版本:Linux 2.6.32-642.el6.x86_64 ...
- ubuntu mysql5.7源码安装
本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...
- linux中的源码安装
前两天自己在笔记本上装了CentOs版本的虚拟机,接着要装Python3,是源码安装的挺费劲,个人总结了一些源码安装的经验,今天在这里给大家分享一下. 1. 首先准备环境,安装必要的编译工具gcc g ...
- Linux+Apache2.4+PHP5.6+MySQL5.6源码安装步骤
一.安装Apache 若要安装apache服务器软件,需要安装以下几个依赖软件 apr-1.4.6.tar.gz 下载地址:http://apr.apache.org/ apr-util-1.4.1. ...
- MySQL5.7源码安装
一.获取MySQL5.7.20源码安装包,并上传至服务器 MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 下载版本:mysql-boost-5 ...
随机推荐
- 如何让msvsmon.exe 以服务方式运行
通常我们在VS上调试程序用的都是msvsmon.exe, 使用管理员权限运行再选项设置任何人可以调试就可以了,而这个在绝大多数情况下都没有问题.而我想说的就是特殊的情况,跟msvsmon的运行权限相关 ...
- 两个80c51单片机之间怎样进行串行通信
以前以为串行通信只能是单片机和PC机之间进行通信,昨天无意之中看到一个程序,是单片机和单片机之间进行通信..这小东西真是神奇啊!昨天弄了很长时间没弄出来,今天在大神的帮助下终于拨开云雾见天日了. 案例 ...
- JBoss + EJB3 + MySql : 开发第一个EJB
JBoss开发Bean并不困难,而对于不知道的人来说,数据库配置才是比较棘手的问题.现在我们就来一步一步开发一个EJB3 + MySql的Bean. 一.MySql数据库的配置 1. 配置数据源 在 ...
- [置顶] Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...
- iOS开发: 关于Certificate, Identifier & Profile
简介 苹果的iOS系统是封闭的系统.苹果的设计是保证每一个软件有确定的开发者/厂商(保证不被第三方进行未授权修改),只能在指定的设备上运行.为达到这些目标,苹果设计了一系列的机制. Certifica ...
- android jni——helloworld
看了网上好多牛人写的学习系列都是用HelloWorld作为开始,我们这里也用HelloWorld来开始我们的学习,首先我们来介绍下JNI吧. JNI作为java代码和C/C++的桥梁而存在的,为了让j ...
- C# 数据库连接测试以及备份
现在我们要做一个如图5.1的数据库连接配置,从界面上看有三个功能需要实现:从配置文件中读取数据库连接的相关属性.备份数据库.测试连接. 现在我们就一个一个开始讲解. 图5.1 1.从配置文件中读取数据 ...
- .NET中的类库
1.object类 所有类都继承于object类,是顶级父类,他有以下成员,都是虚方法: a) ToString() 默认输出对象所属类的全名称(命名空间.类名) b) Equals (O ...
- html5后台界面
Binary Admin Save Binary Admin is 100% free for personal & commercial use under MIT license. Liv ...
- oracle if else 判断
CREATE OR REPLACE FUNCTION fn_GetClassifyBymxmjazfs (v_azfs varchar2,v_mx varchar2,v_mj varchar2) re ...