1.安装

--假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源码压缩文件
1)先安装cmake(mysql5.5以后是通过cmake来编译的)
 
  # tar -zxv -f cmake-2.8.4.tar.gz
  # cd cmake-2.8.4
  # ./configure
  # make
  # make install

2)创建mysql安装目录及数据目录

# mkdir -p /usr/local/mysql                 --mysql安装目录 
  # mkdir -p /usr/local/mysql/data            --mysql数据目录

3)创建mysql用户及用户组

# groupadd mysql
 # useradd -r -g mysql mysql

4)安装mysql

# tar -zxv -f mysql-5.5.10.tar.gz
  # cd mysql-5.5.10
  # 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                      --允许从本地导入数据

# make
  # make install

--注:
   重新编译时,需要清除旧的对象文件和缓存信息。
  # make clean
  # rm -f CMakeCache.txt
  # rm -rf /etc/my.cnf

2.配置及管理
1)设置目录权限

# cd /usr/local/mysql
  # chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
  # chown -R mysql:mysql data

2)拷贝mysql参数文件

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

3)初始化数据库(创建系统数据库)

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

4)设置环境变量
 
  # vi /root/.bash_profile
  PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
  #source /root/.bash_profile

5)手动启动和关闭mysql
  --启动mysql
  # cd /usr/local/mysql
  # ./bin/mysqld_safe --user=mysql &   --启动mysql,但不能用该命令停止mysql,启动日志写在此文件下:/usr/local/mysql/data/localhost.err
  --关闭MySQL服务
  # mysqladmin -u root -p shutdown    --此时,mysql root用户还没有设置密码,所以为空。输入密码时,直接点回车键即可。

6)通过服务启动和关闭mysql(前提是,mysql已添加至系统服务中)

# service mysql.server start  
  # service mysql.server stop
  # service mysql.server restart
  --如运行上述命令时出现:mysql.server 未识别的服务信息,则可能是mysql未添加至系统服务所导致,可通过如下方法添加。

# cp support-files/mysql.server  /etc/init.d/mysql --将mysql.server拷贝至系统服务目录/etc/init.d中,并将其命名为mysql
  # chkconfig --add mysql
  # chkconfig --list
  --将mysql服务设定为3、5等级自动启动
  # chkconfig --level 35 mysql on
  --将mysql服务设定为2、3、4、5等级自动启动
  # chkconfig mysql on
  --注:
    有些系统中,mysql.server在/usr/local/mysql/share/mysql/目录下,而非本文中的/usr/local/mysql/support-files/目录下。

7)修改mysql用户root密码以及开启远程连接授权
  # mysql -u root mysql
  mysql> use mysql;
  mysql> desc user;
  mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";    --开启用户root远程连接权限
  or 
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;      --如不能进行远程连接,且报出错误mysql error number 1130
  mysql> update user set Password = password('xxxxxx') where User='root';   --更改用户root密码
  mysql> select Host,User,Password  from user where User='root'; 
  mysql> flush privileges;
  mysql> exit
  --注:
    如果还不能进行远程连接,可以关闭防火墙试试,命令如下。
    # /etc/rc.d/init.d/iptables stop

Mysql for Linux安装配置之—— 源码安装的更多相关文章

  1. 004-nginx简介、安装配置【源码安装和mac安装】、基本使用

    一.概述 1.1.Nginx是什么 Nginx是一款轻量级的Web服务器,也是一款轻量级的反向代理服务器[常用]. 1.2.Nginx能干什么 Nginx能干的事情很多,这里简要罗列一些: 1:直接支 ...

  2. Redis for linux安装配置之—-源码安装

    一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包  # tar -xzvf redis-3.2.12.tar.gz3.进入r ...

  3. Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库

    Kali Linux 下安装配置MongoDB数据库   1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...

  4. mysql基础-新版5.7.10源码安装-记录(一)

    0x01 MySQL 从 5.5 版本开始,通过 ./configure 进行编译配置方式已经被取消,取而代之的是 cmake 工具 引用一句话 cmake的重要特性之一是其独立于源码(out-of- ...

  5. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

  6. 【SystemTap】 Linux下安装使用SystemTap源码安装SystemTap

    转自 http://blog.csdn.net/zklth/article/details/6248558 文章 http://blog.csdn.net/zklth/archive/2010/09/ ...

  7. Red hat Linux 安装Node.js 源码安装

    1. 下载源码包 http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz 2.准备安装环境,>python2.6, gcc, g++ pytho ...

  8. nginx安装,手动源码安装

    什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...

  9. ubuntu 16.04安装redis(源码安装)zz

    本文转载自: http://www.linuxdiyf.com/linux/22527.html Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Val ...

随机推荐

  1. HDU 5445 Food Problem(多重背包+二进制优化)

    http://acm.hdu.edu.cn/showproblem.php?pid=5445 题意:现在你要为运动会提供食物,总共需要提供P能量的食物,现在有n种食物,每种食物能提供 t 能量,体积为 ...

  2. JS定时器时间日期钟表

    window.onload=function(){ setTime(); setInterval('setTime()',1000); } function checkTime(n){ if(n< ...

  3. string截取、替换、查找子串函数,find_first_of 用法

    1. 截取子串 s.substr(pos, n) 截取s中从pos开始(包括0)的n个字符的子串,并返回 s.substr(pos) 截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回 2 ...

  4. HttpDns原理

    什么是 DNS DNS(Domain Name System,域名系统),DNS 服务用于在网络请求时,将域名转为 IP 地址.能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数 ...

  5. 用python读写excel的强大工具:openpyxl

    最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...

  6. springboot 启动报错 java.lang.IllegalStateException: Failed to introspect annotated methods on class org

    . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ...

  7. java用毫秒数做日期计算的一个踩坑记录

    错误示例: Date today = new Date(); Date nextMonth = new Date(today.getTime() + 30* 1000*60*60*24); print ...

  8. tomcat热部署.class

    本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...

  9. oracle的批量操作sql语句

    1.批量删除/批量更新 mapper: <update id="updatePrjStateByFPrjId" parameterType="string" ...

  10. vue定义全局方法 调用其他组件的方法

    官网的写法  vue实例.$on就可以在根实例上定义全局方法 this.$root就是获取根实例  如果没有根实例 就表示当前实例 this.$root.$on 不需要.eventHub 不需要下面这 ...