开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《MySQL DBA修炼之道》——2.2 官方版本的安装

简介:
+关注继续查看

本节书摘来自华章出版社《MySQL DBA修炼之道》一书中的第2章,第2.2节,作者:陈晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 官方版本的安装

下面将以Linux下MySQL 5.1和MySQL 5.5的安装为例进行讲解。为了避免冲突,可以考虑先卸载Linux下自带的MySQL安装包,可使用“rpm -qa |grep MySQL”检测是否安装了MySQL相关包。
推荐大家使用二进制版本的安装,主要原因是简单方便,而且官方的二进制包也是经过了充分的测试验证和参数优化的。使用源代码编译的方式安装可能会有一定性能的提升,但在实际应用中,可能会由于编译源码而出现各种问题,如果不清楚编译的参数,建议还是使用二进制版本。此外,无论是使用二进制版本还是源码编译,大规模的部署都必须尽量做到自动化安装,否则安装部署的成本会比较高。
2.2.1 二进制包的安装
首先登录官网,下载二进制版本,步骤如下。
1)进入www.mysql.com。
2)选择downloads(GA)。
3)单击Download from MySQL Developer Zone。
4)单击MySQL Community Server。
5)选择相应的平台、版本,比如,选择64位Linux平台下的MySQL二进制包“Linux - Generic(glibc 2.5)(x86,64-bit),Compressed”。
下面开始二进制版本的安装。
1.在root下安装MySQL
这种安装方式为默认方式,这里以“mysql-5.1.45-linux-x86_64-icc-glibc23.tar.gz”为例进行讲解。
以root身份登录,运行如下命令安装MySQL。

useradd mysql
cd /usr/local
tar zxvf /tmp/mysql-5.1.45-linux-x86_64-icc-glibc23.tar.gz
ln -s mysql-5.1.45-linux-x86_64-icc-glibc23 mysql
cd mysql
cp support-files/my-large.cnf /etc/my.cnf
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
mv data /home/mysql/
ln -s /home/mysql/data .

上面的命令中移动data目录到其他分区(/home/mysql),是因为/usr/local下的磁盘空间可能不够。一般数据目录会存放到和操作系统不一样的分区或磁盘中。
下面是安装后的目录及文件说明。
安装后在安装目录mysql/bin中有如下内容。
mysqld:MySQL服务主程序。
mysqld_safe:MySQL服务启动脚本。
mysql:MySQL命令行工具。
mysqladmin:MySQL客户端(管理数据库)。
perror:显示错误码(状态码)含义。
mysqlbinlog:是处理二进制日志文件的实用工具。
将MySQL配置为自启动服务,并启动。

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
/etc/init.d/mysqld start

运行如下命令设置MySQL root密码。
/usr/local/mysql/bin/mysqladmin -u root password 'your_password'
之后,使用MySQL自带的脚本或手动执行命令强化安全,删除匿名用户。自动化的方式是在root用户下执行如下命令。
./bin/mysql_secure_installation
然后按照提示操作,删除匿名账户和空密码的账户。
手动删除匿名账户的操作方法如下。

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES


bdb263419aac65e0a8a385cbb5fad6378b758c19

建议使用/usr/bin/mysql_secure_installation 脚本进行安全配置,它会帮你删除匿名账号。安装完成后,注意把要执行命令的路径添加到系统的PATH变量里,命令如下。

vi ~mysql/.bash_profile
export PATH=/usr/local/mysql/bin:$PATH

2.安装在特定的用户下面
首先,编辑一份自己的配置文件,指定PORT、SOCKET等参数变量。安装和启动的时候需要指定这个配置文件,其他操作和默认安装类似。比如,要安装到“$HOME/app/”下,命令如下。

cd $HOME/app
tar zxvf /path/mysql-5.1.45-linux-x86_64-icc-glibc23.tar.gz
ln -s  mysql-5.1.45-linux-x86_64-icc-glibc23 mysql
cd mysql
scripts/mysql_install_db --defaults-file=/home/garychen/app/mysql/my.cnf  --user=garychen

如果配置文件没有指定数据目录的话,则默认是在/home/garychen/app/mysql/data下。
启动方式如下。
./bin/mysqld_safe --defaults-file=/home/garychen/app/mysql/my.cnf --user=garychen &


65bcfa42e58f36e546393f1adc5dedadc001be46

此外,如果是生产环境下的大批量部署,一般建议定制自己的自动化安装脚本,或者通过自动化平台安装。
2.2.2 源码编译安装
本书不建议一般使用者使用源码编译的方式进行安装,如果决定编译安装,最好想想是否真的值得这样做,它可能对于性能提升并无多大作用,但却可能会带来潜在的不稳定因素,你必须确保自己对某些编译选项很熟悉,因为许多生产问题都来自于错误的编译方式。
可采用如下的命令查看已经安装的MySQL编译选项。
cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE
下面以MySQL 5.5为例讲解源码编译安装的基本步骤。
1)下载“MySQL-5.5.33.tar.gz”。
2)确认系统已经安装了cmake。
3)编译安装MySQL,命令如下。
#创建运行MySQL的用户
shell> groupadd mysql
shell> useradd -r -g mysql mysql
#开始编译安装
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake . -LH  # overview with help text
shell> cmake .
shell> make-j 8
shell> make install
#安装后配置、初始化数据库
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
#启动MySQL Server
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
#添加到自启动服务
shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell>chkconfig mysql.server on
#设置root密码
/usr/local/mysql/bin/mysqladmin -u root password  'your_password'
#类似二进制安装,还需要进行安全强化,运行
./bin/mysql_secure_installation

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
安装 MySql | 学习笔记
快速学习安装 MySql。
56 0
卧槽,安装完MySQL竟然提示数据表不存在!!
本来想基于MySQL 8.0研究Seata源码,结果我不小心把MySQL 8.0的源码安装包删除了,我这的网又很慢,下载MySQL 8.0源码安装包下载了半天,没下载下来。只好安装我电脑上存在的MySQL 5.6来研究Seata源码了。安装完MySQL 5.6竟然提示我数据表不存在!! 今天,就给小伙伴们分享下我是如何解决这个问题的。
199 0
MySQL 5.7安装图文教程
本文目录 1. 背景 2. 安装流程 2.1 同意安装协议 2.2 选择安装类型 2.3 选择产品及特征 2.4 检查必备条件 2.5 安装 2.6 开始配置 2.7 集群配置 2.8 数据库类型和网络配置 2.9 设置ROOT账户密码 2.10 mysql安装为windows服务 2.11 插件和拓展 2.12 应用配置 2.13 搞定
78 0
MySQL 超新手入门(2) 资料库概论与 MySQL 安装
储存与管理资料一直是资讯应用上最基本、也是最常见的技术。在还没有使用电脑来管理你的资料时,你可能会使用这样的方式来保存世界上所有的国家资料:
92 0
Linux环境下Mysql++安装及操作深入详解
题记: 之前项目中使用OTL连接操作Oracle数据库,对于Mysql有用,但没有总结。目前常用的两种连接方式:
142 0
腾讯云 ubuntu服务器mysql安装和外网访问
1 腾讯云 购买ubuntu 默认账户是ubuntu(由于winscp 使用ubuntu没有权限写文件)
124 0
云服务器安装mysql小白操作
多数新人在使用云服务器之前对此都是一无所知的,所以再次分享一篇详细的使用云服务器mysql的教程
294 0
小白使用ECS安装mysql远程连接的心酸历程
在使用阿里云ECS服务器中遇到的心酸事件!
237 0
Windows环境下安装及配置MySQL
本文主要讲解在Windows环境下MySQL的安装、配置
3380 0
10057
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载