mysql企业版5.6编译安装_mysql5.6编译安装详解

1,下载安装包    tar.gz

mysql下载官网--MySQL Community Server 5.6.26--source code--

--Generic Linux (Architecture Independent), Compressed TAR Archive(.tar.gz)

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

2.下载完成后检查文件的MD5,确认下载的是原本,以防被人篡改。

#md5sum mysql5.6.26.tar.gz

3.安装cmake

yum -y install cmake

4.检查是否已经安装mysql

#rpm -qa |grep mysql

有的话要卸载以前安装的mysql

#rpm -e --nodeps xxx

(-ivh 安装rpm包的参数,是以verbose模式安装,可以显示进度条;--nodeps 不考虑依属关系,强制的安装或卸载;--force 强制的)

删除相关配置文件

#rm /etc/my.cnf

5.安装编译代码需要的包(bison,gcc-c++,ncurses,libaio)

yum install -y ncurses-devel.x86_64

yum install -y libaio.x86_64

yum install -y bison.x86_64

yum install -y gcc-c++.x86_64

如果没有安装,在编译阶段cmake,则会报相应错误:

a.-- Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found.  Please install appropriate package,

--没有安装ncurses

b.CMake Error at /usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake:37 (get_filename_component):

get_filename_component called with incorrect number of arguments

Call Stack (most recent call first):

CMakeLists.txt:3 (PROJECT)

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

CMake Error: Internal CMake error, TryCompile configure of cmake failed

--没有安装gcc-c++

c.安装相应编译包后,需要把之前的CMakeCache.txt文件删除

#find / -name CMakeCache.txt

#rm -rf /usr/local/.../CMakeCache.txt

6.cmake执行编译

#cd /../mysql-5.6.26

#time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/data/mysql/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

302bad67f9dda864b7616bad5169f95e.gif

150629220966763.jpg (57.42 KB, 下载次数: 1)

2015-9-24 09:00 上传

则显示编译成功

7.make && make install安装mysql

#make && make install

花费时间比较长。

8.配置mysql,创建用户和用户组

检查是否创建mysql用户:

#cat /etc/passwd |grep mysql

#cat /etc/shadow |grep mysql

如果没有存在:

#groupadd mysql -s /sbin/nologin    创建mysql用户组,但不能登录系统

#useradd -g mysql mysql    创建的mysql用户所属组是mysql用户组

or

#groupadd mysql

#useradd -r -g mysql mysql    -r表示mysql用户是系统用户,不可用于登录系统

or

#groupadd mysql

#useradd mysql -g mysql -M -s /sbin/nologin

-g  表示新用户所属用户组

-M  表示不建立根目录

-s  定义使用的shell,/sbin/nologin表示不能登录系统

9.创建数据库路径和赋予权限

#mkdir -p /data/mysql    -p表示递归创建目录

#chown -R mysql.mysql /data/mysql

#chmod 755 /data/mysql

#chown -R mysql.mysql /usr/local/mysql

10.初始化数据库

#cd /usr/local/mysql

#cp support-files/my-default.cnf /etc/my.cnf

#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

(执行的mysql_install_db脚本,对mysql中的data目录进行初始化并建立系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(我们之前指定的mysql用户)执行这个脚本,或者root用户执行,但是root用户执行时必须加上参数--user=mysql。如果mysql的安装目录不是/usr/local/mysql,还必须指定目录参数--basedir=/../,--datadir=/../)

如果报错:

Installing MySQL system tables.../usr/local/mysql/bin/mysqld: File '/home/data/mysql/binlog/mysql-bin.index' not found (Errcode: 2 - No such file or directory)

2014-06-27 10:47:14 9686 [ERROR] Aborting

2014-06-27 10:47:14 9686 [Note] Binlog end

2014-06-27 10:47:14 9686 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

解决:#mkdir -p /data/mysql/binlog/

#chown -R mysql.mysql /data/mysql/binlog

最后提示:

WARNING: Default config file /etc/my.cnf exists on the system

This file will be read by default by the MySQL server

If you do not want to use this, either remove it, or use the

--defaults-file argument to mysqld_safe when starting the server

则表示初始化完成。

11.添加开机启动项和开机启动服务systemctl

#cp supports-files/mysql.server /etc/init.d/mysqld

#chmod 700 /etc/init.d/mysqld

#echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile    设置环境变量

#source /etc/profile     使新设置的环境变量立即生效

#cd /lib/systemd/system

#vim mysqld.service

[Unit]

Description=mysql

After=network.target

[Service]

Type=forking

ExecStart=/www/lanmps/init.d/mysqld start

ExecReload=/www/lanmps/init.d/mysqld restart

ExecStop=/www/lanmps/init.d/mysqld  stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

12.mysql服务启动

#service mysqld start

or

#systemctl start msyqld.service

13.检验mysql是否开启成功

#ps aux |grep mysql

or

#nestat -lnp |grep 3306

or

#mysql

>show databases;

设置mysql的root用户密码

#mysqladmin -uroot password

如果报错1:

2014-06-24 14:56:54 31726 [Note] Server socket created on IP: '::'.

2014-06-24 14:56:54 31726 [ERROR] Can't start server : Bind on unix socket: Permission denied

2014-06-24 14:56:54 31726 [ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql/mysql.sock ?

2014-06-24 14:56:54 31726 [ERROR] Aborting

主要原因:

/usr/local/mysql的目录需要赋予mysql权限

根据日志文件,检查运行权限,确定是否因为没有权限在/data/mysql/目录中写入mysql.sock文件。

#chown -R mysql.mysql /data/mysql

#chown -R mysql.muysql /usr/local/mysql

如果报错2:

。。。。

可能因为存在mysql进程,所以开启服务的时候会报错

kill [pid]杀死相应进程即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值