Mysql5.6.21源码安装
做了3年运维,个人笔记倒是挺多,没有好好整理,有分享精神,比较懒,大学注册的账号,但是一直没有写过任何技术文档,羞愧。很认同一句话,搞技术一定要有分享精神。
环境描述
安装包:mysql-5.6.21.tar.gz
系统环境:Centos6.5
描述:安装的系统都是最小化的方式,勾选了基础,就下一步安装了,因为都是实验环境。系统配置没有太多的要求。虚拟机。内存只分配了512Mb内存,所以大家的mysql.cnf文件,根据生产情况去分配。
(1)依赖包安装
#yum install wget bison gcc gcc-c++ wget make cmake ncurses-devel libtool zilib-devel -y
(2)安装包下载,为懒人提供下载连接,连接失效的自行下载。
#wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz
(3)规划好目录,尤其生产中。别搞得乱七八糟,维护的系统都需一套统一的目录体系结构。交接工作也一目了然。带新人,别人也看得懂。大伙赞同吧,哈哈
#mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,redo-log,undo-log},backup,scripts}
(4)创建mysql用户,授权.
#groupadd mysql
#useradd -g mysql mysql
#chown mysql:mysql -R /data/mysqldata
(5)解压包,编译安装。
#tar zxvf mysql-5.6.21.tar.gz
#cd mysql-5.6.21
5.1:生成编译配置文件
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='JSS for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
5.2:编译参数描述,这里简单解释下。
DCMAKE_INSTALL_PREFIX | mysql安装目录,这里指的是mysql软件的安装路径, |
DDEFAULT_CHARSET | 指定mysql的字符集。 |
DDEFAULT_COLLATION | 指定mysql服务的默认校对规则。 |
DENABLED_LOCAL_INFILE |
是否允许从客户端本地加载数据到Mysql服务端,专用于load data infile语句,默认不允许 |
DWITH_*_STORAGE_ENGINE | 静态编译某种存储引擎。*表示存储引擎名称,1表示开启。 |
DCOMPILATION_COMMENT | 编译信息,后面启动的时候会看到。 |
DWITH_READLINE | mysql输入输出的处理方式 |
DSYSCONFDIR | mysql参数文件的默认路径 |
DMYSQL_UNIX_ADDR | 套接字文件存储路径位置 |
描述:
以上很多信息都可以安装完成后,在my.cnf文件进行修改。如果编译过程出错,或者参数弄错,可以删除目录下的Cmakecache.txt文件,重新执行cmake,或者重新解压编译即可。
5.3:执行编译和安装
#make
#make install
5.4:授权,因为我是用root用户进行安装,但为了安全性。这部很重要啊,不要忘记了。。。
chown mysql:mysql -R /usr/local/mysql56
(6)编辑配置文件,注意,改操作是在mysql用户下操作。
#su - mysql
[mysql@test ~]$vim /data/mysqldata/3306/my.cnf
配置文件也规划好,不同类别位置对方整齐。
[client]
port = 3306 #Mysql Server #Buffer #Log #master-slave,这里先不做任何配置,下一个章节会讲到。 binlog-ignore-db = test replicate-ignore-db = test log-slave-updates=true #InnoDB #Undo Logs这里被我注释了,5.6版本undo可以拆分出来,用xtrabackup恢复有异常,就注释了。 [mysql] |
6.1:部分参数详解
(7)初始化数据库。
$/usr/local/mysql56/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql56
结果如下:
Installing MySQL system tables...OK Filling help tables...OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/local/mysql56/bin/mysqladmin -u root password 'new-password' /usr/local/mysql56/bin/mysqladmin -u root -h p_w_picpath04.com password 'new-password' Alternatively you can run: /usr/local/mysql56/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd . ; /usr/local/mysql56/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/ The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com WARNING: Found existing config file /usr/local/mysql56/my.cnf on the system. Because this file might be in use, it was not replaced, but was used in bootstrap (unless you used --defaults-file) and when you later start the server. The new default config file was created as /usr/local/mysql56/my-new.cnf, please compare it with your file and take the changes you need. |
注释:
看到以上结果,那么恭喜你成功了,如果报错,或者没有看到的同学,也不要慌张,打开日志文件/data/mysqldata/3306/mysql-error.log,查看详情。多数原因都是因为配置文件出错导致。找出问题后,进行修改,然后删除/data/mysqldata/3306{data,redo,binlog}目录下的文件,然后重新执行初始化命令即可。
在我执行的结果看,出现了Warning,这个结果可以忽略,像我上面的结果,在初始化前,可以执行删除配置文件,/usr/local/mysql56/my.cnf,/usr/local/mysql56/my-new.cnf,/etc/my.cnf,如果这些文件存在,可以清除掉。就发现warning消失了。
(8)启动数据库,我这里采用sale的方式启动。
$/usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
结果如下
[mysql@test 3306]$ /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
[1] 28848 [mysql@test 3306]$ 150403 19:59:32 mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'. 150403 19:59:32 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data |
8.1:查看启动状态
$ps -ef | grep mysql
$netstat -ano | grep 3306
[mysql@test 3306]$ ps -ef | grep mysql root 27864 1558 0 17:42 pts/0 00:00:00 su - mysql mysql 27866 27864 0 17:42 pts/0 00:00:00 -bash mysql 28848 27866 0 19:59 pts/0 00:00:00 /bin/sh /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf mysql 29386 28848 0 19:59 pts/0 00:00:00 /usr/local/mysql56/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql56 --datadir=/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql56/lib/plugin --log-error=/data/mysqldata/3306/data/../mysql-error.log --open-files-limit=512 --pid-file=/data/mysqldata/3306/mysql.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306 [mysql@test 3306]$ netstat -ano | grep 3306 tcp 0 0 :::3306 :::* LISTEN off (0.00/0/0) unix 2 [ ACC ] STREAM LISTENING 80061 /data/mysqldata/3306/mysql.sock |
(9)进入数据库
注释:默认mysql管理员账户是没有设置密码的,前面初始化后的信息,已经告诉我们怎么去设置密码。
$/usr/local/mysql56/bin/mysql
[mysql@test 3306]$ /usr/local/mysql56/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.21-log JSS for mysqltest Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. (root@localhost) [(none)]> |
(10)关闭数据库
$ /usr/local/mysql56/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown
结果如下:
[mysql@test 3306]$ /usr/local/mysql56/bin/mysqladmin -S /data/mysqldata/3306/mysql.sock shutdown 150403 21:09:30 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended [1]+ Done /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf [mysql@test 3306]$ netstat -ano | grep 3306 [mysql@test 3306]$ ps -el | grep mysql |
(11)为保障安全性,修改root用户登录信息
查看当前用户信息
(root@localhost) [(none)]> select user,host from mysql.user; +------+---------------+ | user | host | +------+---------------+ | root | 127.0.0.1 | | root | ::1 | | | test.com | | root | test.com | | | localhost | | root | localhost | +------+---------------+ 6 rows in set (0.00 sec) |
删除所有账户信息,只保留本地登录
(root@localhost) [(none)]> delete from mysql.user where (user,host) not in (select 'root','localhost'); Query OK, 5 rows affected (0.00 sec) (root@localhost) [(none)]> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | localhost | +------+-----------+ 1 row in set (0.00 sec) |
修改管理员账号密码信息
(root@localhost) [(none)]> update mysql.user set user='mysql-admin',password=password('Abcabc!23'); Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 (root@localhost) [(none)]> select user,host from mysql.user; +-------------+-----------+ | user | host | +-------------+-----------+ | mysql-admin | localhost | +-------------+-----------+ 1 row in set (0.00 sec) |
(12)编写启动,关闭,登录脚本。
12.1:基础信息:
$cd /data/mysqldata/script/
$vim mysql_info.ini
# set env MYSQL_USER=mysql-admin MYSQL_PASS='Abcabc!23' #check parameter if [ $# -ne 1 ] then HOST_PORT=3306 else HOST_PORT=$1 fi |
12.2:启动脚本
$vim mysql_start.sh
#!/bin/sh #Created by jiajinh 201504 source /data/mysqldata/scripts/mysql_info.ini echo "Startup Mysql Service:localhost_"${HOST_PORT} /usr/local/mysql56/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf & |
12.3:关闭脚本
$vim mysql_shutdown.sh
#!/bin/sh #Created by jiajinh 201504 source /data/mysqldata/scripts/mysql_info.ini echo "Shutdown Mysql Service:localhost_"${HOST_PORT} /usr/local/mysql56/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/3306/mysql.sock shutdown |
12.4:登录脚本
#!/bin/sh
#Created by jiajinh 201504 source /data/mysqldata/scripts/mysql_info.ini echo "Login MySQL Service:localhost_"${HOST_PORT} /usr/local/mysql56/bin/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/3306/mysql.sock $2 |
转载于:https://blog.51cto.com/jiajinh/1627966
Mysql5.6.21源码安装相关推荐
- mysql5.7.21源码安装
1.下载安装包 MySQL 官方下载地址:https://dev.mysql.com/downloads/mysql/ MySQL 5.7官方安装文档:https://dev.mysql.com/d ...
- mysql 5.7.17源码包_centos7 mysql5.7.17源码安装
centos7 mysql5.7.17源码安装 **安装前准备 操作系统环境:Centos 7.2 1.解决依赖包并下载源码包至/home/soft/目录下 [root@node03 ~]# yum ...
- mysql5.6.8源码安装
mysql5.6.8源码安装 内核: [root@opop ~]# cat /etc/centos-release CentOS release 6.8 (Final) [root@opop ~]# ...
- mysql 5.7.18源码包下载_MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程
<MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程>要点: 本文介绍了MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程,希望对您有用.如 ...
- centos 7 mysql 源码安装_centos7 mysql5.7.17源码安装
centos7 mysql5.7.17源码安装 **安装前准备 操作系统环境:Centos 7.2 1.解决依赖包并下载源码包至/home/soft/目录下[root@node03 ~]# yum - ...
- mysql5.7.21源码解析,史上最强Mysql5.7源码安装讲解
今天给小伙伴们介绍一下Mysql5.7源码安装,在安装过程中还是碰到了一些问题,下面介绍安装步骤时,会告诉大家问题在哪儿,怎么解决的,废话不多说,下面就可以说说安装全过程 1.创建用户 groupad ...
- ubuntu17.04下mysql5.7.18源码安装
1.下载mysql5.7.18源码(带有boost) 下载 地址为https://dev.mysql.com/downloads/mysql/ 2.添加mysql组及用户 groupadd mysql ...
- mysql5.5.30源码安装及主从搭建
双机热备(实验环境) 主服务器:ip地址192.168.100.244,mysql版本5.5.30,源码安装 从服务器:ip地址192.168.100.245 一.源码安装mysql5.5 启动目录: ...
- nginx mysql5.7_Centos7+Php7+Mysql5.7+Nginx源码安装实战部署手册
本文以Centos 7.1+Php 7.1.3+Mysql5.7.17为例,介绍Centos7+Php7+Mysql5.7+Nginx 1.10.3源码安装实战部署的过程. 一.准备工作 软件获取 二 ...
最新文章
- 在机械狗上利用AstraPro3D深度摄像头简单实现目标跟踪和人体姿态识别
- The CLR’s Execution Model(Chapter 1 of CLR via C#)
- C++多线程简单入门(Windows版本)
- UVa 11466 - Largest Prime Divisor
- 如何理解Nginx, WSGI, Flask之间的关系
- android 知识点大全,Android基础知识总结(一)
- Hadoop集群搭建之问题锦集
- Daily Scrum 10.31
- 电脑护眼,老司机教你电脑护眼设置怎么开
- 高数-极限-求极限值--两个重要极限(以及拓展公式)
- 17年社交网络老司机解读网红现象
- 关于魔兽守卫军的改进建议
- 为什么打印还要另存为_打印的时候为什么显示文件另存为
- Mac无法开机?别着急看这里
- Java回炉学习(一)
- 一分钟学会看k线图_一分钟怎样学会看k线图(纯干货)散户必备!
- live555直播h264视频流
- 钉钉企业内部应用 - 获取考勤打卡结果
- 棋盘问题 51Nod - 1605
- 51单片机之LED灯