centos6安装mysql 5.5_CentOS6.5上安装MySQL5.5
MySQL5.4以前的版本(如MySQL5.1系列)都可以用源码通过常规的编译方式安装,即./configure;make;make install,生产场景的具体命令和参数为:
[root@Howden mysql-5.1.72]# ./configure \
--prefix=/opt/myslq \
--with-unix-socket-path=/opt/mysql/tmp/mysql.sock
--localstatedir=/opt/mysql/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
[root@Howden mysql-5.1.72]# make
[root@Howden mysql-5.1.72]# make install
MySQL从5.4版本开始加入了一些用于提高性能的新算法,同时编译方式也和以前不同了,要采用cmake方式编译安装。因此先把cmake装上,并安装一个依赖包ncurses-devel:
[root@Howden ~]# tar xf cmake-2.8.8.tar.gz
[root@Howden ~]# cd cmake-2.8.8
[root@Howden cmake-2.8.8]# ./configure
[root@Howden cmake-2.8.8]# gmake
[root@Howden cmake-2.8.8]# gmake install
[root@Howden cmake-2.8.8]# yum install ncurses-devel
我们需要安装的MySQL是5.5版本,在安装之前还必须创建mysql用户和用户组:
[root@Howden ~]# groupadd mysql
[root@Howden ~]# useradd mysql -s /sbin/nologin -M -g mysql
其中:
-s /sbin/nologin 表示禁止该用户登录,加强安全
-M 表示不创建用户家目录
-g 指定用户属于mysql组
把MySQL的源码包解压缩之后,就可以用cmake方式安装了:
[root@Howden mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql \
> -DMYSQL_DATADIR=/opt/mysql/data \
> -DMYSQL_UNIX_ADDR=/opt/mysql/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
> -DENABLED_LOCAL_INFILE=ON \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_FEDERATED_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
> -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
> -DWITH_FAST_MUTEXES=1 \
> -DWITH_ZLIB=bundled \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_READLINE=1 \
> -DWITH_EMBEDDED_SERVER=1 \
> -DWITH_DEBUG=0
[root@Howden mysql-5.5.32]# make && make install
安装完成之后,配置一下环境变量,把mysql执行程序所在的目录加入到PATH变量中:
[root@Howden ~]# echo 'export PATH=/opt/mysql/bin:$PATH' >> /etc/profile
[root@Howden ~]# source /etc/profile
注意要把该路径放在PATH变量的最前面,因为当你使用不加前缀路径的方式执行命令时,对PATH中的路径是从前向后检索。如果把这个路径放在了PATH的最后,而系统中又有用rpm包安装的mysql,会先从/usr/bin/下找到mysql执行程序,就会导致错误。关于该问题的具体讲解参考:http://www.voidcn.com/article/p-wrmqhjtq-bcw.html
接下来,把mysql的主配置文件放到/etc/下。mysql的安装包中提供了多个配置文件可供选择,以适应不同的系统环境。在测试环境中可以选择最小的:
[root@Howden mysql-5.5.32]# ll support-files/*.cnf
-rw-r--r-- 1 root root 4699 Nov 19 22:35 support-files/my-huge.cnf
-rw-r--r-- 1 root root 19779 Nov 19 22:35 support-files/my-innodb-heavy-4G.cnf
-rw-r--r-- 1 root root 4673 Nov 19 22:35 support-files/my-large.cnf
-rw-r--r-- 1 root root 4684 Nov 19 22:35 support-files/my-medium.cnf
-rw-r--r-- 1 root root 2848 Nov 19 22:35 support-files/my-small.cnf
[root@Howden mysql-5.5.32]# /bin/cp support-files/my-small.cnf /etc/my.cnf
在初始化mysql之前的最后一步,把mysql的data目录的所有者和所属组改为mysql:
[root@Howden mysql-5.5.32]# chown -R mysql.mysql /opt/mysql/data/
然后就可以初始化mysql了:
[root@Howden mysql-5.5.32]# cd /opt/mysql/scripts/
[root@Howden scripts]# ./mysql_install_db --basedir=/opt/mysql/ --datadir=/opt/mysql/data/ --user=mysql
在输出中如果看到如下两个OK就说明初始化成功了:
Installing MySQL system tables...
OK
Filling help tables...
OK
现在就可以启动mysql进程了,把它的守护进程脚本程序放到/etc/init.d/目录下并赋予可执行权限,然后启动:
[root@Howden mysql-5.5.32]# /bin/cp support-files/mysql.server /etc/init.d/mysqld
[root@Howden mysql-5.5.32]# chmod +x /etc/init.d/mysqld
[root@Howden mysql-5.5.32]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@Howden mysql-5.5.32]# netstat -lntup | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2375/mysqld
这样就启动成功了!
在登录mysql时,如果遇到如下故障:
[root@Howden ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
可以先杀掉mysql进程,并删除数据文件,然后重新初始化mysql:
[root@Howden ~]# pkill mysqld
[root@Howden ~]# lsof -i :3306
[root@Howden ~]# rm -rf /opt/mysql/data/*
[root@Howden ~]# /opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql/ --datadir=/opt/mysql/data/ --user=mysql
成功登录mysql之后,做一些基本的优化工作:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> drop database test;
Query OK, 0 rows affected (0.04 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | Howden |
| root | Howden |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
mysql> delete from mysql.user;
Query OK, 6 rows affected (0.00 sec)
mysql> grant all privileges on *.* to system@'localhost' identified by '12345678' with grant option;
Query OK, 0 rows affected (0.00 sec)
centos6安装mysql 5.5_CentOS6.5上安装MySQL5.5相关推荐
- centos安装mysql怎么远程访问_centos上安装mysql并设置远程访问的操作方法
1.下载mysql的repo源 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-releas ...
- oel 7.0 安装 mysql 5_在linux上安装PostgreSQL 9.4并启动和关闭数据库
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES, Version 4.2为基础的对象关系型数据库管理系统(ORDBMS).POSTGRES开创的许多概念在很久以后才出现在商 ...
- mysql在win服务器上安装linux_MySql数据安装Linux+Windows
一.Linux系统安装mysql 1. Linux安装mysql服务分两种安装方法: 1.1 源码安装: 优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ...
- linux 安装邮件系统,在Linux平台上安装基于Postfix、Courier-imap、Extmail的邮件系统 V 0...
很久之前就计划写一个Postfix在Linux平台上面的安装文档,把自己安装Postfix的过程总结一下,但由于工作的关系直到现在才动手.和个人的习惯有关,在安装过程中我使用了很多源代码,这对一个新手 ...
- CentOS 7安装MySQL 非yum或rpm安装
CentOS 7安装MySQL 非yum或rpm安装 本文使用的数据库版本是MySQL 5.7.26(tar.gz) 本文既不通过rpm,也不通过yum安装mysql. 通过包名可看出MySQL包的区 ...
- linux手动安装rsync_在Linux/Unix上安装rsync并通过示例的方式介绍使用rsync命令
本文介绍Rsync的功能,在Linux/Unix系统上安装rsync的方法,并通过示例的方式介绍使用rsync命令的方法. Rsync介绍及其功能 在rsync的手册页中,Rsync是一种快速且极其通 ...
- 如何在安装了Windows操作系统的电脑上安装Linux操作系统
[原创]如何在安装了Windows操作系统的电脑上安装Linux操作系统 一.不得不知道的一件事 相信中国大多数个人用的电脑在买回来时已经 安装了Windows,并且大家习惯了用Windows,而且有 ...
- 在安装了Sql2000的基础上安装Sql2005的详细过程
在安装了Sql2000的基础上安装Sql2005的详细过程 2008-09-04 19:10 在安装了Sql2000的基础上安装Sql2005的详细过程 Sql2005版本:Sql2005开发版,两张 ...
- ubuntu16.04安装mysql+php+phpmyadmin(nginx已经安装)
(默认nginx已经安装) 1安装mysql 执行以下命令安装mysql sudo apt-get install mysql-server// 安装过程中设置并记住root用户的密码 sudo ap ...
最新文章
- mysql 账户管理_如何用MySQL 命令来实现账户管理
- thymeleaf 的 th:each简单应用
- TPC性能测试及发布
- swift_005(Swift的Dictionary 字典)
- ContactG,基于Spark IM组织联络人插件
- SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
- OpenStack看到中国“钱”景
- PHP-代码审计-XSS
- jmxtrans安装使用
- swiper高度自适应_微信小程序之swiper轮播图片高度自适应
- win10 python3.5.2环境下 安装xgboost
- 【Scala之旅】高阶函数
- .net知识和学习方法系列(三)CSharp中控件台的输入输出
- android双指滑动方向,OpenGL ES2.0实现手指滑动平移、双指缩放Android
- 【python】使用in判断元素是否在列表(list)中,如何提升搜索效率?
- 网页制作大作业HTML+CSS制作静态网页----原神
- 裸眼 3D 技术是什么原理?
- java谜题读书笔记_《java深度历险》读书笔记(一)
- Java判断上海自来水来自海上_JavaAPI
- 飞冰 - ICE Design Pro 使用指南
热门文章
- VB案例:打印输出图形与文本
- 列表视图案例3——显示联系人
- 链表C++ | 从尾部打印头部(使用栈、递归实现)_3
- java 进程 cpu占用_JAVA进程CPU占用高的故障排查 – 运维那些事
- 小甲鱼python课后答案40讲_小甲鱼Python第二十一讲课后习题
- 2017.9.15 最大数maxnumber 思考记录
- 2017.9.4 黑白棋 失败总结
- 2017.3.26 最长双回文串 思考记录
- python去干扰线_GitHub - Guardiant/VerifyCode: 验证码去干扰线识别
- 安卓平台OpenGL ES的调用