参考资料:http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html

http://www.cnblogs.com/xiongpq/p/3384681.html

一、安装cmake(mysql5.5.0之后的版本用cmake安装)

下载:

cd /usr/local/src/
wget http://www.cmake.org/files/v3.3/cmake-3.3.0-rc4.tar.gz

安装:

tar -zxvf cmake-3.3.0-rc4.tar.gz
cd cmake-3.3.0-rc4
./configure
make
make install

二、安装mysql-5.5.40

(1)创建mysql安装目录及数据存放目录

mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

(2)创建mysql用户及用户组

groupadd mysql
useradd -r -g mysql mysql

(3)安装mysql

因为公司linux服务器上正好有一个mysql-5.5.40版本的数据库,所以我就直接使用了。不过各位需要下载的必须选择版本为5.5.0以上版本

tar -zxvf mysql-5.5.40.tar.gz
cd mysql-5.5.40
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
make
make install

.cmake中参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录(默认安装路径:/usr/local/mysql)

-DINSTALL_DATADIR=/usr/local/mysql/data         //数据库存放目录

-DDEFAULT_CHARSET=utf8                        //使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci            //校验字符

-DEXTRA_CHARSETS=all                            //安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

PS. 注意事项:如果重新编译时,需要清除旧的对象文件和缓存信息

#make clean

#find / -name CMakeCache.txt    通过该命令查找到所有的CMakeCache.txt文件,再使用一下命令删除之

#rm -f ..../CMakeCache.txt

#rm -rf /etc/my.cnf

(4)  配置(重点)

#设置目录权限
cd /usr/local/mysql
chown -R root:mysql .
chown -R mysql:mysql data #将mysql的启动服务添加到系统服务中
cp support-files/my-medium.cnf /etc/mysql.cnf #增加mysql数据库的使用者
scripts/mysql_install_db --user=mysql #设置环境变量
vi /root/.bash_profile
#在环境变量PATH=$PATH:$HOME/bin后边追加参数,追加后如下:
#PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#让配置立即生效
source /root/.bash_profile

(5)启动mysql

1)手动启动(推荐)

cd /usr/local/mysql
#启动MySQL,这里启动后不会自动停止退出命令,但我们可以按Enter键退出
./bin/mysqld_safe --user=mysql &
#这就算启动了,这是我们可以在命令行输入mysql试试
mysql #如果进入数据库则成功
#关闭MySQL服务
mysqladmin -u root -p shutdown #这里需要输入MySQL的root用户密码,因为还没有设置,所以直接回车即可

PS:错误提示1,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
                解决:这是没有启动MySQL服务,所以必须启动服务后才能进入MySQL中

2)将mysql增加到系统服务中

cd /usr/local/mysql 
#将mysql的启动服务增加到系统服务中去
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

PS:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr /local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local /mysql/support-files/mysql.server中

#启动服务
service mysql start

这时你就会看到“Starting MySQL.. SUCCESS!”的字样,说明mysql已经启动了。

(6)配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,使其直接调用mysql

vi /etc/profile
#按shift+g键跳到文件最后,在末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH #:wq退出,让配置立即生效
source /etc/profile

现在进入mysql环境

#使用root用户登陆
mysql -uroot
#给root用户设置密码
mysql>SET PASSWORD = PASSWORD('123456');

若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
##红色的password为远程访问时,root用户的密码,可以和本地不同。

(7)防火墙配置

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

vi /etc/sysconfig/iptables
#找到“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”这行,然后在下面添加一行:-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT,:wq保存退出 #重启,刷新防火墙配置
service iptables restart

至此,一切配置完毕。

我们可以进入mysql了,只不过这是需要输入密码了,命令如下:

mysql -uroot -p
#然后输入密码即刻进入

三、Linux下mysql的完整安装的更多相关文章

  1. linux下mysql基础从安装到基本使用

    在LINUX下安装MYSQL #需要的安装包(按照先后顺序) libdbi-devel--2.1 libdbi--2.1 libdbi-drivers- perl-DBI-.el5 perl-DBD- ...

  2. linux下mysql多实例安装

    1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...

  3. linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html   1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...

  4. Linux下ffmpeg的完整安装

    最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用 ...

  5. linux 下mysql多实例安装

    1.软件下载 https://dev.mysql.com/downloads/file/?id=479096 免编译二进制包 mysql-5.6.21-linux-glibc2.5-x86_64.ta ...

  6. linux下mysql 最新版安装图解教程

    1.查看当前安装的linux版本 命令:lsb_release -a 如下图所示 通过上图中的数据可以看出安装的版本为RedHat5.4,所以我们需要下载RedHat5.4对应的mysql安装包 2. ...

  7. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...

  8. Linux下MySQL的数据库安装

    centos7 + mysql5.7 tar包解压安装 先执行wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-gl ...

  9. linux下mysql源码安装

    参考链接:http://blog.csdn.net/zqtsx/article/details/9378703 下载mysql安装包, 不会下载点这里 地址:ftp://mirror.switch.c ...

随机推荐

  1. 常用CSS代码大全(工作必备)

    用html+css可以很方便的进行网页的排版布局,但不是每一种属性或者代码我们都铭记于心,最近我把CSS中的常用代码进行了归纳总结,方便自己以后查看,同时也分享给大家,希望对你们有用. 一.文本设置 ...

  2. js判断变量是否为undefined

    可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面我来介绍js undefined 用法. Java ...

  3. 会计凭证替代 OBBH

    单词:Validation: 会计凭证校验 ,Substitution:会计凭证替代 step1: GCX2 gblr: ZRFI_GGBR000 gbls: ZRFI_GGBS000 - step2 ...

  4. 织梦多个栏目arclist调用副栏目不显示的解决办法

    织梦arclist调用副栏目不显示,网上关于这个问题的解决办法有很多,其中一种是: 打开/include/taglib/arclist.lib.php,代码约位于295-296行(我目前用的DedeC ...

  5. python学习-输入输出

    Python的输入和输出非常方便,下面详细记录一下 任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果.输入是Input, ...

  6. Centos7 初始化

    systemctl disable firewalld sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config grubby - ...

  7. Python time、datetime、os、random、sys、hashlib、json、shutil、logging、paramiko、subprocess、ConfigParser、xml、shelve模块的使用

    文章目录: 1. time & datetime模块 2. os模块 3. random模块 4. sys模块 5. hashlib模块 6. json模块 7. shutil模块 8. lo ...

  8. Java语言基础(1)

    1 计算机语言发展的分类 1)机器语言:由0,1组成(二进制),可以在计算机底层直接识别并执行(唯一). 2)汇编语言:由助记符组成,比机器语言简单.当执行的时候,把汇编语言转换为机器语言(0101) ...

  9. 递推DP(至少和至多之间的转换

    UVa 10328 - Coin Toss 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 转换成抛N次至多连续有N个减去抛N次至多连续有K-1个1的情况 dp[i][k]表 ...

  10. glViewport函数用法

    一. 其函数原型为glViewport(GLint x,GLint y,GLsizei width,GLsizei height) x,y 以像素为单位,指定了窗口的左下角位置. width,heig ...