MYSQL 源码安装 root 用户

微笑、不失礼 提交于 2019-11-29 21:28:39

题记: MYSQL 也安装了很多次,每次找上次安装的脚本,都是无头苍蝇,遂记此文。

此文参考了 http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html

文中每个步骤都是边装边写,如有纰漏望指正。


一 安装版本

1.1 软件版本

cmake-3.0.1.tar.gz

mysql-5.6.20.tar.gz

系统版本:

  

[root@nfs-1 soft]# lsb_release 
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
[root@nfs-1 soft]# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.6 (Final)
Release:        6.6
Codename:       Final

系统一般不默认带lsb_release 命令,yum install lsb

cmake,mysql下在地址

http://pan.baidu.com/s/1qWmiBhE

http://pan.baidu.com/s/1kT8Dyth


二 安装cmake 和mysql

2.1 安装cmake

[root@nfs-1 soft]# tar -zxvf cmake-3.0.1.tar.gz 
[root@nfs-1 soft]# cd cmake-3.0.1
[root@nfs-1 cmake-3.0.1]# ./configure

执行报错,信息如下

[root@nfs-1 cmake-3.0.1]# ./configure 
---------------------------------------------
CMake 3.0.1, Copyright 2000-2014 Kitware, Inc.
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.

---------------------------------------------
Log of errors: /wls/wls81/soft/cmake-3.0.1/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------


解决方法:yum 安装gcc c++

[root@nfs-1 cmake-3.0.1]# yum install gcc-c++

然后执行

[root@nfs-1 cmake-3.0.1]# ./configure

就可以了

最后执行

[root@nfs-1 cmake-3.0.1]# make
[root@nfs-1 cmake-3.0.1]# make install

至此cmake 安装完成,若版本不通请参照cmake 官网

验证

[root@nfs-1 cmake-3.0.1]# cmake -version
cmake version 3.0.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).


2.2 安装mysql

2.2.1 创建mysql 的安装目录和数据库存放目录


mysql 安装目录:/usr/local/mysql  

mysql 数据库存放目录 :/usr/local/mysql/data

[root@nfs-1 local]# mkdir -p /usr/local/mysql
[root@nfs-1 local]# mkdir -p /usr/local/mysql/data

 

2.2.2 创建mysql 用户和用户组

[root@nfs-1 local]# groupadd mysql
[root@nfs-1 local]# useradd -r -g mysql mysql

   

2.2.3 解压源码包安装

[root@nfs-1 soft]# tar -zxvf mysql-5.6.20.tar.gz 
[root@nfs-1 soft]# cd mysql-5.6.20
[root@nfs-1 mysql-5.6.20]# 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

    cmake 时报错

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,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:128 (FIND_CURSES)
  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  CMakeLists.txt:427 (MYSQL_CHECK_EDITLINE)


-- Configuring incomplete, errors occurred!
See also "/wls/wls81/soft/mysql-5.6.20/CMakeFiles/CMakeOutput.log".
See also "/wls/wls81/soft/mysql-5.6.20/CMakeFiles/CMakeError.log".

解决方法 :查看错误信息,redhat 系统需要安装ncurse-devel

[root@nfs-1 soft]# yum install ncurses-devel

然后重新 执行

重新编译需要执行

# make clean

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf


我是直接删除了原先解压的包,重新解压了一份

[root@nfs-1 mysql-5.6.20]# 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

就可以了

参数说明

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录

-DINSTALL_DATADIR=/usr/local/mysql/data         //数据库存放目录

-DDEFAULT_CHARSET=utf8                        //使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci            //校验字符

-DEXTRA_CHARSETS=all                            //安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据


补充20150812(上次忘写了):mysql cmake 执行完需要 make  && make install

2.2.4 配置

2.2.4.1 配置目录权限

mysql 安装目录改为 所有者root,组mysql

mysql 数据存放目录改为所有者mysql,组mysql

[root@nfs-1 mysql]# pwd
/usr/local/mysql
[root@nfs-1 mysql]# chown -R root:mysql
chown: missing operand after `root:mysql'
Try `chown --help' for more information.
[root@nfs-1 mysql]# chown -R root:mysql .
[root@nfs-1 mysql]# chown -R mysql:mysql data

2.2.4.2 将mysql配置文件复制到/etc/my.cnf

cd /usr/local/mysql/
cp support-files/my-default.cnf /etc/my.cnf

2.2.4.3 创建系统数据库表

cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql

2.2.4.4 设置root 用户环境变量(可选)

[root@ rhel5~]# vi /root/.bash_profile

#在PATH=$PATH:$HOME/bin添加参数为:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

[root@ rhel5~]#source /root/.bash_profile

2.2.4.5 手动启动mysql

[root@ rhel5~]# cd /usr/local/mysql

[root@ rhel5 mysql]# ./bin/mysqld_safe --user=mysql &   //启动MySQL,但不能停止

启动日志写在此文件下:/usr/local/mysql/data/localhost.err

关闭MySQL服务

[root@ rhel5 mysql]# mysqladmin -u root -p shutdown  //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。

2.2.4.6 配置系统服务启动mysql

[root@nfs-1 mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@nfs-1 mysql]# service mysql start
Starting MySQL.[  OK  ]
[root@nfs-1 mysql]#

2.2.4.7 修改root 密码

[root@ rhel5~]# mysql -u root mysql

mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
mysql>update user set Password = password('yunwei@root') where User='root';
mysql>select Host,User,Password  from user where User='root'; 
mysql>flush privileges;
mysql>exit

重新登录:mysql -u root -p

若还不能进行远程连接,则关闭防火墙
[root@ rhel5~]# /etc/rc.d/init.d/iptables stop


navicat 绿色版 http://pan.baidu.com/s/1c010fLY

好的完成。。。。。

                                                                                                                tac  于 20150625













易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!