手把手教你在Linux下安装MySQL

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

    在Linux操作系统下,安装MYSQL有两种方式:一种tar安装方式,另外一种是rpm安装方式。这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的tar格式的文件其实只是mysql的文件包,并不能直接安装,需要操作configure、make、install等命令才能完成安装,是一种比较繁琐的安装方式。而rpm格式的文件是真正的安装包,相当于windows的exe文件,可以直接安装。


    本文以MySQL-5.6.20 32位版本rpm格式的安装方式为例,详述MySQL的安装方式,64位的rpm版本安装方式也是如此。


    (一)删除老版本的MySQL


    在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本。经本文亲测,采用如下方式删除老版本的MySQL或MySQL残留文件作为方便。


    1. 执行yum命令,删除MySQL的lib库,服务文件

yum remove  mysql mysql-server mysql-libs mysql-server;

    2. 执行find命令,查找MySQL的残留文件,然后运行“rm -rf 文件名”删除残留的MySQL文件

find / -name mysql

    (二)RPM格式安装MySQL


    当前,MySQL的最新版本为:5.6.20,从官网下载MySQL的rpm安装包,解压后有如下七个文件:

MySQL-client-advanced-5.6.20-1.el6.i686.rpm                          #MySQL客户端程序

MySQL-devel-advanced-5.6.20-1.el6.i686.rpm                            #MySQL的库和头文件

MySQL-embedded-advanced-5.6.20-1.el6.i686.rpm                  #MySQL的嵌入式程序

MySQL-server-advanced-5.6.20-1.el6.i686.rpm                          #MySQL服务端程序

MySQL-shared-advanced-5.6.20-1.el6.i686.rpm                        #MySQL的共享库

MySQL-shared-compat-advanced-5.6.20-1.el6.i686.rpm         #RHEL兼容包

MySQL-test-advanced-5.6.20-1.el6.i686.rpm                            #MySQL的测试组件

    一般对于开发而言,我们只需要下面三个文件就可以。


MySQL-client-advanced-5.6.20-1.el6.i686.rpm

MySQL-devel-advanced-5.6.20-1.el6.i686.rpm

MySQL-server-advanced-5.6.20-1.el6.i686.rpm

    

    1. 在重新进行安装之前,为确保万无一失,我们还是再确认一下系统中是否有MySQL极其相关的RPM安装包。如果有,则先删除。

rpm -qa | grep -i mysql

    执行完上述命令后,返回空数据,则可进行第二步。否则,执行下面的命令删除MySQL的相关包文件。

yum -y remove mysql-libs*

    2. 将前面提到的三个MySQL安装文件,拷贝到服务器,然后执行下述安装命令。

rpm -ivh MySQL-server-advanced-5.6.20-1.el6.i686.rpm 

rpm -ivh MySQL-devel-advanced-5.6.20-1.el6.i686.rpm 

rpm -ivh MySQL-client-advanced-5.6.20-1.el6.i686.rpm 

    上述三个命令在执行时,只有第一个命令执行的时间稍微长些,后面两个命令运行速度很快。


    3.执行下述命令,将MySQL的配置文件拷贝到/etc目录下。

cp /usr/share/mysql/my-default.cnf /etc/my.cnf

    4.分别运行下述命令,初始化MySQL及设置密码。

/usr/bin/mysql_install_db  #初始化MySQL

service mysql start   #启动MySQL

cat /root/.mysql_secret      #查看root账号的初始密码,会出现下述所示信息

# The random password set for the root user at Mon Aug 25 10:26:57 2014 (local time): ZFRmqNPoFH3aO5PU

mysql -uroot -pZFRmqNPoFH3aO5PU       #使用root账号登陆MySQL

set password=password('123456');  #更改MySQL密码,注意;不可少

exit  #退出

mysql -uroot -p123456           #使用新密码登陆

    5.配置允许远程登陆。

use mysql;

mysql> select host,user,password from user;

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

| host | user | password |

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

| localhost | root | *DFEB299B8A17E376E7804A115F471149953B5645 |

| chenxu | root | *6E4C48EDF3CC66BC5F6E6C0980935C8ED660EFAA |

| 127.0.0.1 | root | *6E4C48EDF3CC66BC5F6E6C0980935C8ED660EFAA |

| ::1 | root | *6E4C48EDF3CC66BC5F6E6C0980935C8ED660EFAA |

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

4 rows in set (0.00 sec)

mysql> update user set password=password('aqjccmtj') where user='root';

Query OK, 3 rows affected (0.00 sec)

Rows matched: 4 Changed: 3 Warnings: 0

mysql> update user set host='%' where user='root' and host='localhost';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit

Bye

    6.设置开机启动

[root@favccxx local]# chkconfig mysql on 
[root@favccxx local]# chkconfig --list | grep mysql 
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    上面打印出来的内容中,2~5为on就是开机启动了。

    7.修改/etc/my.cnf,设置MySQL的字符集,配置MySQL表明不区分大小写(默认情况下,MySQL对表名区分大小写,列名不区分大小写)。在[mysqld]下面加入如下内容:

character_set_server=utf8

character_set_client=utf8  

collation-server=utf8_general_ci

lower_case_table_names=1

max_connections=1000

    8.MySQL的默认文件路径

/var/lib/mysql/               #数据库目录

/usr/share/mysql              #配置文件目录

/usr/bin                     #相关命令目录

/etc/init.d/mysql              #启动脚本

    9.重启MySQL

[root@favccxx local]# service mysql restart 
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS!

    在Linux下安装MySQL是很简单的事情,但同时也是一种很繁琐的事情,谁让Linux上的操作大多数都要靠命令来完成呢。对于初学者来言,要记住所有的命令并不是多么明智的选择,最好的方法还是将一些常用的操作记录在笔记中。





本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1544778,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
61 0
|
2天前
|
存储 关系型数据库 MySQL
Linux | MySQL基础
Linux | MySQL基础
|
3天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
4天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
33 2
|
7天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
14 1
|
8天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
25 0
|
4月前
|
存储 关系型数据库 MySQL
LINUX中的mysql(一)安装
MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Linux系统中。它提供了一个灵活、高效和可扩展的数据库解决方案,被许多应用程序和网站用于存储和管理数据。
122 0
|
5月前
|
关系型数据库 MySQL Linux
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
107 0
|
3月前
|
关系型数据库 MySQL Linux
Linux C/C++ 开发(学习笔记六):MySQL安装与远程连接
Linux C/C++ 开发(学习笔记六):MySQL安装与远程连接
46 0
|
4月前
|
固态存储 关系型数据库 MySQL
Linux下MySQL安装过程中的疑难杂症
Linux下MySQL安装过程中的疑难杂症
42 0