当前位置: 首页 > news >正文

mysql源码编译安装

下载地址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 免费版,只能下载mysql社区版。MySQL Community Server 选择合适的版本迚行下载:   

安装前,如果不存在mysql 用户,则建立之 

[root@localhost ~]# useradd mysql 

[root@localhost Desktop]# vim /etc/passwd   #不让mysql用户登录系统 改成:

 mysql:x:501:501::/home/mysql:/sbin/nologin  

解压安装 

[root@localhost ~]# tar zxvf mysql-5.5.30.tar.gz -C /usr/local/src/ 

[root@localhost src]# cd /usr/local/src/mysql-5.5.30/ 

编译,安装: Mysql 5.5.15使用了新的cmake编译方式,所以先安装cmake  

cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够 输出各种各样的 makefile 戒者 project 文件,能测试编译器所支持的 C++特性,类似 UNIX 下的 automake。

 安装cmake: 

[root@localhost  mysql-5.5.30]# yum install  -y cmake # cmake-2.6.4-5.el6.x86_64.rpm软件包,RHEL系统自带,配置好yum源,   

开始编译:

 [root@localhost src]# mkdir /server/

 [root@localhost  src]# cd /usr/local/src /mysql-5.5.30

 [root@localhost  src]# cmake -DCMAKE_INSTALL_PREFIX=/server/mysql-5.5 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/server/mysql/data -DMYSQL_USER=mysql 

cmake 编译选项含意:

 -DCMAKE_INSTALL_PREFIX=/server/mysql-5.5  #指定mysql安装的根目录,只要/server目录存在就可以了,mysql-5.5在安装时,会自动创建。这个 值可以在服务器启动时,通过--basedir来设置。

 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  #mysql服务器用于监听的套接字,这个必需是一个绝对路径,默认是/tmp/mysql.sock。在服务器启动时,可通过--socket 来改变。 

-DDEFAULT_CHARSET=utf8  设置mysql默认使用utf8字符集,不指定,默认使用latin1 西欧字符集。

 -DDEFAULT_COLLATION=utf8_general_ci   #默认字符校对。 

  db.opt DWITH_EXTRA_CHARSETS=all  #指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集

 -DWITH_MYISAM_STORAGE_ENGINE=1 

 -DWITH_INNOBASE_STORAGE_ENGINE=1   

-DWITH_MEMORY_STORAGE_ENGINE=1  

 #静态编译 Myisam、Innobase、Memory 存储引擎到 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。  

-DWITH_READLINE=1   #支持readline库 。

 -DENABLED_LOCAL_INFILE=1   #允许从本地导入数据 ,吭用加载本地数据 

-DMYSQL_DATADIR=/server/mysql/data   #mysql数据库存放数据的目录 

-DMYSQL_USER=mysql    #指定运行mysql服务的用户 

注:具体编译参数参考: http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html  

最终会像configure一样生成Makefile。 

安装:

 [root@localhost  mysql-5.5.30]# make -j 4   #注:-j 用来指定CPU核心数,可加快编译速度。 加 -j 4 确实可以提升很高的速度。我的CPU是4核心的。 

[root@localhost  mysql-5.5.30]# make   install

配置mysql运行环境: 

chown -R mysql:mysql /server/mysql-5.5   #修改mysql安装目录权限,允许mysql用户对mysql 数据库文件夹读写。  
复制mysql配置文件 

 [root@localhost  ~]# cp /usr/local/src/mysql-5.5.30/support-files/my-large.cnf /etc/my.cnf  
设置mysqld5.5服务开机启动:

 cp /usr/local/src/mysql-5.5.30/support-files/mysql.server  /etc/init.d/mysqld5.5 

复制mysql开机启动文件,以后可以使用service命令来启动和关闭mysql 

chmod +x /etc/init.d/mysqld5.5  
vim /etc/init.d/mysqld5.5(编辑此文件,查找并修改以下变量内容:)  

将原文件中: 

basedir=  

datadir= 

修改成:

basedir=/server/mysql-5.5 

datadir=/server/mysql-5.5/data 

加入开机启动项:

 [root@localhost  Desktop]# chkconfig mysqld5.5 on 

[root@localhost  Desktop]# chkconfig  --list mysqld5.5 

mysqld5.5       0:off 1:off 2:on 3:on 4:on 5:on 6:off 

初始化mysql数据库: 

[root@localhost  scripts]# pwd /usr/local/src/mysql-5.5.30/scripts 

[root@localhost  scripts]# chmod +x mysql_install_db 

[root@localhost  scripts]# ./mysql_install_db --defaults-file=/etc/my.cnf --basedir=/server/mysql-5.5 --datadir=/server/mysql-5.5/data --user=mysql  

#类似于 rpm 包安装的mysql数据库,第一次启动弹出的消息 

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:
  
/server/mysql-5.5/bin/mysqladmin -u root password 'new-password' 
/server/mysql-5.5/bin/mysqladmin -u root -h xuegod63.cn password 'new-password' 
 
Alternatively you can run: 
/server/mysql-5.5/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 /server/mysql-5.5 ; /server/mysql-5.5/bin/mysqld_safe &  


You can test the MySQL daemon with mysql-test-run.pl 
cd /server/mysql-5.5/mysql-test ; perl mysql-test-run.pl  


Please report any problems with the /server/mysql-5.5/scripts/mysqlbug script! 

开启mysql 

[root@localhost  scripts]# /etc/init.d/mysqld5.5 start 

Starting MySQL....                                         [  OK  ] 

测试登录: 

[root@localhost  ~]# mysql 

使用系统自带的mysql命令测试登录,如下图,说明登录成功。刚安装好mysql数据,root用户是没有 密码的。 

[root@localhost  scripts]# mysql 

Welcome to the MySQL monitor.  Commands end with ; or \g. 

Your MySQL connection id is 1 

Server version: 5.5.30-log Source distribution  
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 

This software comes with ABSOLUTELY NO WARRANTY. This is free software, 

and you are welcome to modify and redistribute it under the GPL v2 license  

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

设置mysql  root密码: 

[root@localhost Desktop]# mysqladmin -uroot password '123456' 

[root@localhost ~]# mysql -u root -p123456

设置mysql只允许局域组中的服务器和本地回环口,连接3306端口: 

LAMP 都运行在一台机器上  
[root@localhost Desktop]# iptables -A INPUT -s 192.168.1.0/255.255.255.0 -p tcp --dport 3306 -j ACCEP 

[root@localhost Desktop]# iptables -A INPUT -s 127.0.0.1 -p tcp --dport 3306 -j ACCEPT 

[root@localhost Desktop]# iptables -A INPUT ! -s 127.0.0.1 -p tcp --dport 3306 -j DROP 

保存规则: 

[root@localhost Desktop]# /etc/init.d/iptables save

http://www.lryc.cn/news/206047.html

相关文章:

  • On Moving Object Segmentation from Monocular Video with Transformers 论文阅读
  • [AutoSar NVM] 存储架构
  • ES10 新特性
  • 宝塔安装脚本
  • gulp打包vue3+jsx+less插件
  • 华为ICT——第四章深度学习和积卷神经
  • MongoDB 学习笔记(基础)
  • 【TGRS 2023】RingMo: A Remote Sensing Foundation ModelWith Masked Image Modeling
  • 性能测试 —— 生成html测试报告、参数化、jvm监控
  • 堆(二叉树,带图详解)
  • vue3 code format bug
  • 7-3、S曲线生成器【51单片机控制步进电机-TB6600系列】
  • CDC实时数据同步
  • javaEE -10(11000字详解5层重要协议)
  • 360智慧生活旗舰产品率先接入“360智脑”能力实现升级
  • 【系统架构设计】 架构核心知识: 2 云原生架构
  • Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)
  • 【疯狂Java】数组
  • leetcode 503. 下一个更大元素 II、42. 接雨水
  • 【德哥说库系列】-PostgreSQL跨版本升级
  • rust学习——智能指针
  • 系列一、Spring Framework
  • PULP Ubuntu18.04
  • Docker harbor私有仓库部与管理
  • 解决虚拟机联网问题
  • Unity 自定义小地图
  • 力扣每日一题66:加一
  • 项目管理工具ConceptDraw PROJECT mac中文版自定义列功能
  • Kafka-Java二:Spring实现kafka消息发送的ack机制
  • Go代码解密:理解byte和int8的边界行为