`

编译安装mysql5.6并初始化数据库和创建系统服务

 
阅读更多

很久没编译安装过mysql了,以前一直使用自己编译的mysql5.1.68,近期出的phpMyAdmin竟然要求mysql5.5以上,索性编译安装一个5.6试试。虽然现在mysql最新版是5.7,但我还是喜欢成熟稳定的产品,做服务器嘛,一般不选用最新的版本。

首先下载mysql源码包,可以在网址:https://dev.mysql.com/downloads/mysql/ 里面去找自己想要的源码包。这里我直接下载的:https://dev.mysql.com/downloads/mysql/5.6.html#downloads 里面的源码包:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz 

 在linux下用wget下载是最方便的了。

下载以后,解压,linux服务器安装基础编译环境(包括cmake):

yum安装mysql基础编译环境 写道
yum -y install gcc gcc-c++ ncurses-devel perl cmake

 安装好基础环境后,就可以编译mysql了。

解压编译并安装mysql 写
1、解压缩
tar zxf mysql-5.6.35.tar.gz
2、进入目录
cd mysql-5.6.35
3、cmake创建make环境,注意设置所有目录为自己打算存放mysql服务器软件的路径。
cmake \
-DCMAKE_INSTALL_PREFIX=/data/server/mysql \
-DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/server/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
4、进行编译
make
5、安装
make install

 让我们看看新安装的mysql占用多少磁盘空间:

新安装未初始化的mysql占用空间 写道
du -sh /data/server/mysql/
915M /data/server/mysql/
915MB,当初mysql5.1的版本时,占用空间250MB,而5.0版本时,占用不到100MB。不过无所谓,现在磁盘一般都大,为了mysql更好的性能,我们占用1GB的空间给这么重要的数据库软件,是值得的。
另外要说的是,编译安装的mysql其实是包括了yum安装的mysql-server,mysql-dev,mysql-client。就是说服务器、客户端和开发文件都有了。

 接下来创建mysql用户:

 useradd -d /data/server/mysql -s /sbin/nologin mysql

修改mysql整个目录所有文件的权限为mysql:

chown -R mysql:mysql /data/server/mysql

 

初始化mysql数据库(一定要切入mysql根目录中做,看起来初始化用了相对路径):

cd /data/server/mysql/

./scripts/mysql_install_db --defaults-file=/data/server/mysql/my.cnf --user=mysql --datadir=/data/server/mysql/data

启动mysql:

/data/server/mysql/support-files/mysql.server start

我这里发现错误:Starting MySQL.....The server quit without updating PID fil[FAILED]lib/mysql/iZ2ze3nt8kraa5ukvawf8bZ.pid

百度后发现解决方法:

/data/server/mysql/bin/mysql_upgrade -uroot

原因是因为我系统里有一个旧版本的mysql,/etc/下有my.cnf,造成我初始化表结构用了旧版的。所以这里升级一下就可以了。

当然如果发现其他问题还可以百度解决。

 

因为编译的时候指定了默认字符集,所以my.cnf并不需要指明,就默认用UTF-8字符集了。我们可以用自带的mysql客户端看看:

/data/server/mysql/bin/mysql -uroot 

mysql> show variables like '%character%';

+--------------------------+------------------------------------+

| Variable_name            | Value                              |

+--------------------------+------------------------------------+

| character_set_client     | utf8                               |

| character_set_connection | utf8                               |

| character_set_database   | utf8                               |

| character_set_filesystem | binary                             |

| character_set_results    | utf8                               |

| character_set_server     | utf8                               |

| character_set_system     | utf8                               |

| character_sets_dir       | /data/server/mysql/share/charsets/ |

+--------------------------+------------------------------------+

8 rows in set (0.00 sec)

mysql> show variables like'%collation%';  

+----------------------+-----------------+

| Variable_name        | Value           |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database   | utf8_general_ci |

| collation_server     | utf8_general_ci |

+----------------------+-----------------+

3 rows in set (0.00 sec)

这里可看到,都是utf8。

 

为了安全,给mysql的root用户设置一个密码:

/data/server/mysql/bin/mysqladmin -uroot password "newpassword"

如果已经设置过密码了,要修改密码,则是使用如下方式:

/data/server/mysql/bin/mysqladmin -uroot -poldpassword password newpassword

如果编译安装的mysql想要拷贝到别的地方使用,只需要将整个mysql目录拷贝(mysql/data目录可以暂且移动到别处),放到/data/server/里面,修改mysql目录递归权限为mysql,然后创建mysql用户,初始化mysql数据库即可使用。

 

最后mysql目录占用了1.1GB空间。

分享到:
评论

相关推荐

    MySQL5.6 源码安装 同样适用5.7源码编译安装

    MySQL5.6 源码安装 同样适用5.7源码编译安装,但5.7初始化数据库后,root密码是随机产生的,需要注意。

    MySQL 5.1中文手冊

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySql 5.1 参考手册.chm

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySQL 5.1参考手册

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySQL 5.1参考手册 (中文版)

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySQL 5.1参考手册中文版

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySQL 5.1官方简体中文参考手册

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MYSQL中文手册

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权...

    mysql官方中文参考手册

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    MySQL5.1参考手册官方简体中文版

    2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 ...

    Mac OS系统下mysql 5.7.20安装教程图文详解

    Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_db –user=mysql初始化方式变成了bin/mysqld –initialize –user=mysql方式;...

    mysql5.1中文手册

    在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. ...

    MySQL 5.6.25 源码包+安装方法 (mysql-5.6.25.tar.gz)

    4. 配置以及初始化MySQL # cd /usr/local/mysql 4.1 设置MySQL安装目录的权限 # chown -R mysql:mysql /usr/local/mysql 4.2 初始化MySQL # scripts/mysql_install_db --user=mysql # cp support-files/mysql.server...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    4.2.3 初始化MySQL数据库 4.3 配置一个bacula备份系统 4.3.1 配置bacula的Console端 4.3.2 配置bacula的Director端 4.3.3 配置bacula的SD 4.3.4 配置bacula的FD端 4.4 启动与关闭bacula 4.4.1 启动...

    CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    2、CentOS服务器初始化设置 //www.jb51.net/article/133839.htm 准备篇 一、防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop firewalld.service ...

    Linux程序设计 第4版.haozip01

    Linux程序设计 分卷文件共有以下2个: Linux程序设计 第4版.haozip01.zip Linux程序设计 第4版....18.2.3 lsb系统初始化 638 18.3 文件系统层次结构标准 639 18.4 更多标准 642 18.5 小结 642 注: 仅用于学习,...

    Linux程序设计 第4版.haozip02

    Linux程序设计 分卷文件共有以下2个: Linux程序设计 第4版.haozip01.zip Linux程序设计 第4版....18.2.3 lsb系统初始化 638 18.3 文件系统层次结构标准 639 18.4 更多标准 642 18.5 小结 642 注: 仅用于学习,...

    CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    2、CentOS服务器初始化设置 http://www.osyunwei.com/archives/9034.html 准备篇 一、防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop firewalld...

Global site tag (gtag.js) - Google Analytics