MySQL系列 - MySQL源码安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL系列 - MySQL源码安装配置相关的知识,希望对你有一定的参考价值。

二、mysql系列 - MySQL源码安装配置(附5.7等最新版本)


1、依赖环境准备

  1. # tar zxvf make-3.82.tar.gz
  2. # cd make-3.82
  3. # ./configure
  4. # make
  5. # make install
  1. # tar zxvf bison-2.5.tar.gz
  2. # cd bison-2.5
  3. # ./configure
  4. # make
  5. # make install
  1. # tar zxvf gcc-c++-4.4.4.tar.gz
  2. # cd gcc-c++-4.4.4
  3. #./configure
  4. # make
  5. # make install
  1. # tar zxvf cmake-2.8.4.tar.gz
  2. # cd cmake-2.8.4
  3. #./configure
  4. # make
  5. # make install
  1. # tar zxvf ncurses-5.8.tar.gz
  2. # cd ncurses-5.8
  3. #./configure
  4. # make
  5. # make install

2、开始安装

2.1、下载MySQL

MySQL5.6下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.6.12.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/

  1. # groupadd mysql
  2. # useradd mysql -g mysql -M -s /sbin/nologin
  3. #增加一个名为 mysql的用户。
  4. -g:指定新用户所属的用户组(group)
  5. -M:不建立根目录
  6. -s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
2.2、解压

解压并安装MySQL

  1. # tar zxvf mysql-5.6.12.tar.gz
  2. # cd mysql-5.6.12
  3. cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
  4. # make
  5. # make install
2.3、赋权限
  1. # cd /usr/local/mysql
  2. # chown -R mysql:mysql . (#这里最后是有个.的大家要注意# 为了安全安装完成后请修改权限给root用户)
  3. # scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)
  4. # chown -R root:mysql . (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)
  5. # chown -R mysql:mysql ./data (数据库存放目录设置成mysql用户mysql组)
  6. # chmod -R ug+rwx . (赋予读写执行权限,其他用户权限一律删除仅给mysql用户权限)
2.4、修改配置文件
  1. 下面的命令是将mysql的配置文件拷贝到/etc
  2. # cp support-files/my-default.cnf /etc/my.cnf
  3. 5.6之前的版本用如下命令)
  4. # cp support-files/my-medium.cnf /etc/my.cnf (5.6之前的版本是此操作,读者也可在此时自己进入support-files文件夹下面,看是配置文件的真正名称,那个存在,就拷贝那个。。)
  5. 修改my.cnf配置
  6. # vi /etc/my.cnf
  7. #[mysqld] 下面添加:
  8. user=mysql
  9. datadir=/data/mysql
  10. default-storage-engine=MyISAM
2.5、启动MySQL
  1. # bin/mysqld_safe --user=mysql & 或者直接进入bin文件夹下面
  2. # cd bin
  3. #./mysqld \\ 这里说明,mysqld_safe或者mysqld都可以启动的
  4. 启动mysql,看是否成功
  5. # ps –ef|grep mysql

技术分享

上面是一种启动mysql的方法,还有一种简单的方便,如下:

  1. mysql的启动服务添加到系统服务中
  2. # cp support-files/mysql.server /etc/init.d/mysql
  3. 现在可以使用下面的命令启动mysql
  4. # service mysql start
  5. 停止mysql服务
  6. # service mysql stop
  7. 重启mysql服务
  8. # service mysql restart

3、MySQL 5.7源码安装不同之处

  • cmake版本必须在2.8以上
  • 依赖boost库,需要在cmake时新增如下选项
    -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
  • 初始化以及启动
  1. 5.7.6之前初始化的方法是:bin/mysql_install_db --user=mysql 5.7.6之后的版本初始化数据库不再使用mysql_install_db
  2. bin/mysqld --initialize --user=mysql --basedir=/package/mysql --datadir=/package/mysql/data --innodb_undo_tablespaces=3
  3. bin/mysql_ssl_rsa_setup
  4. cp support-files/mysql.server /etc/init.d/mysql
  5. bin/./mysqld_safe --skip-grant-tables --skip-networking &
  6. 5.7中存储密码的字段不再是password了,变成了authentication_string
  7. update mysql.user set authentication_string=password(‘root‘) where user=‘root‘
  8. SET PASSWORD=PASSWORD(‘root‘);
























以上是关于MySQL系列 - MySQL源码安装配置的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 系列 生产标准线上环境安装配置案例及棘手问题解决

基于centos7搭建MySQL数据库

Centos7源码安装mysql

Linux安装MySQL(源码安装)

mysql源码安装和主从同步配置

源码安装mysql数据库