很久没编译安装过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):
安装好基础环境后,就可以编译mysql了。
tar zxf mysql-5.6.35.tar.gz
cd mysql-5.6.35
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
make
make install
让我们看看新安装的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空间。
相关推荐
启动 MySQL 服务需要将启动脚本添加到开机初始化目录。可以使用以下命令: `cp support-files/mysql.server /etc/init.d/mysql` 启动 MySQL 服务: `service mysql start` 可以使用以下命令查看 MySQL 服务的...
配置完成后,运行`make`和`make install`来编译和安装MySQL。 6. **设置权限**: 创建`mysql`用户和用户组(如果不存在),然后使用`chown`命令将MySQL的安装目录和数据目录的所有权分配给`mysql:mysql`。 7. **...
这些库对于编译MySQL至关重要。 - `numactl`用于支持NUMA架构; - `gcc-c++`是C/C++编译器; - `ncurses-devel`提供文本用户界面支持; - `perl`及`perl-devel`用于脚本编写; - `libaio*`提供异步I/O支持。 2...
编译和安装完成后,你需要初始化MySQL数据库: ``` sudo /usr/local/mysql/bin/mysql_install_db --user=mysql ``` 设置MySQL的系统用户权限,并启动MySQL服务: ``` sudo chown -R root:mysql /usr/local/mysql/...
安装完成后,还需要进行初始化、设置权限和启动MySQL服务: 1. 初始化MySQL数据库:`sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &` 2. 创建root用户密码:`sudo /usr/local/mysql/bin/mysql_secure_...
这些工具主要用于帮助我们能够顺利地编译和安装 MySQL。 **命令详解:** ```bash yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl perl-devel ``` - `make`: 用于构建项目的一个工具,能够...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其5.6.49版本是一个稳定且功能丰富的版本。本文将详细讲解如何使用`mysql-5.6.49.tar.gz`源码安装包在Linux系统上进行安装。 首先,源码安装MySQL涉及到多个...
在安装完成后,需要初始化MySQL服务,创建数据目录并设置权限。 ```bash cd /usr/local/mysql # 设置所有者为mysql用户 chown -R mysql:mysql . cd data chown -R mysql:mysql . # 初始化数据库 cd /usr/local/...
### 源码安装MySQL 5.6详细步骤与知识点解析 #### 一、环境准备与检查 ...通过上述步骤,可以在Linux系统上完成MySQL 5.6的源码安装,并配置好相应的服务与权限,从而为后续的应用开发提供稳定可靠的数据库服务支持。
在Linux系统上安装MySQL 5.6是一个涉及多个步骤的过程,包括安装依赖包、创建系统用户、上传和解压MySQL安装文件、配置MySQL服务器、初始化安装、启动服务以及设置用户权限。以下是对这些步骤的详细解释: 1. **...
4. 创建MySQL用户组和用户,设置权限,并初始化数据库: ```bash groupadd mysql useradd -r -g mysql mysql cd /usr/local/mysql chown -R mysql:mysql . scripts/mysql_install_db --user=mysql --ldata=/data/...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化。在Linux环境下,通过RPM(Red Hat Package Manager)包管理器进行安装是一种常见且简便的方法。RPM包是预编译的软件包,适用于基于...
接下来,我们需要安装编译MySQL所需的依赖库。使用`yum install`命令安装`ncurses-devel`(用于处理终端交互)、`openssl-devel`(为MySQL提供加密功能)和`cmake`(构建工具)。 然后,从源代码编译安装MySQL 5.6...
6. **初始化**:创建数据目录,初始化系统表,设置权限等。 7. **启动服务**:启动MySQL服务,进行测试。 在这个自动化脚本中,这些步骤可能已经被封装,用户只需要执行一个命令即可完成全部工作。这对于没有经验的...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,尤其适合那些希望快速部署数据库服务而无需经历复杂安装过程的用户。这个“mysql5.6免安装版”是一个预编译的二进制版本,用户只需...
首先,确保系统中没有遗留的MySQL服务和安装。可以使用以下命令检查: 1. `chkconfig --list | grep -i mysql`:这将列出所有与MySQL相关的服务。 2. 如果找到任何MySQL服务,可以使用`chkconfig --del mysqld`将其...
- 初始化数据库:安装完成后,需要初始化数据库,创建root用户和其他必要的系统数据库。 - 启动服务:启动MySQL服务器,确保一切运行正常。 3. **安全设置**: - **设置root密码**:安装过程中,您会被要求设置...