IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

linux上二进制部署mysql详细步骤(测试环境常用)

本机暂存

一、简介:

   关于在linux上二进制部署mysql,我其实现在linux已经很熟练了,那是一年前的曲折之路。不过这篇文章还是有参考意义,毕竟测试环境可以再3分钟就弄好mysql服务器.还是很happy的一件事情.之前笔记是参考别人写的,现在重新整理.主要问题是centos和ubuntu上,ubuntu上需要注意的事项等说明。

二、需求描述:

   搞了一天在linux下安装mysql,实在身心疲惫,不过最终还是成功安装上了,不知道为什么mysql 的rpm包安装起来不好使,rpm主要再redhat系列的linux发行版中,老是有问题。但是编译安装需要安装编译环境和编译比较耗时间.于是决定安装tarball(二进制包)的方式安装mysql。从网页上翻了好久找到了安装方法。

    我用的mysql的版本的是:mysql-5.5.42-linux2.6-x86_64.tar.gz

    在官网上是可以下载到的。但是我一般再国内镜像站下载:http://mirrors.sohu.com/mysql/MySQL-5.5/

    提供一个百度云的下载地址:链接: http://pan.baidu.com/s/1c0qbyzI 密码: 6vt5

三、前置条件(不是必需):

   0. 按照上面下载地址.准备mysql的二进制包.

    1. 建立mysql用户组,mysql用户,并且把mysql用户加入到mysql用户组中。

    2. 建立mysql用户组:groupadd mysql

    3. 建立mysql用户并加入mysql用户组:useradd mysql -g mysql -p 1234 -s /sbin/nologin -M

    说明:-g 是加入到mysql用户组,-p是设置密码,-s是设置shell,这里设置的是不让其登录,-M就是不建立用户目录。

四、下面是安装mysql的步骤

   1、把安装文件拷贝到:/usr/local,

cp mysql-5.5.42-linux2.6-x86_64.tar.gz /usr/local/

   然后到目录/usr/local/下面解压缩文件:

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

   2、创建软连接:

ln -s mysql-5.5.42-linux2.6-x86_64 /usr/local/mysql

   注意:链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也称为软连接。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对软链接,则不存在这个问题。默认情况下,ln产生硬链接。 如果创建软链接需要参数 -s

    3、到软连接mysql目录下,初始化mysql表格,安装 mysql 默认数据库:

[root@localhost mysql]#cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql

   注意:在ubuntu 执行上面的命令时会遇到如下错误:

[root@localhost mysql]#/usr/local/mysql# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

   主要需要缺少libaio1库文件.解决办法 使用sudo apt-get install libaio1:

[root@localhost mysql]#/usr/local/mysql# apt-get install libaio1
正在读取软件包列表... 完成

   然后重新执行步骤(最保险的办法.删除了重来)

[root @localhost mysql]# scripts/mysql_install_db --user=mysql

   控制台打印出:

    Installing MySQL system tables…

    OK

    Filling help tables…

    OK

    …..

    即说明安装成功。

    4、修改目录权限,如下:

[root@localhost mysql]# cd /usr/local
[root@localhost local]# chgrp -R mysql mysql-5.5.42-linux2.6-x86_64
[root@localhost local]# chgrp -R mysql mysql
[root@localhost local]# chown -R mysql mysql-5.5.42-linux2.6-x86_64/data
[root@localhost local]# chown -R mysql mysql/data

   5、启动mysql

    到mysql录下:

[root@localhost mysql]# bin/mysqld_safe --user=mysql --socket=/tmp/mysql.sock --port=3306 &

   这种启动方式,看不出启动效果,因为要继续输入命令查看是否启动成功的话,就会停止数据库。所以赶紧进行第6步

    6、添加到系统自启动,如下:

[root@localhost local]# cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
shell> cp support-files/mysql.server /etc/init.d/mysqld

   上面是ubutu的自启动目录

[root@localhost local]# chkconfig --add mysqld

   7、启动mysql服务进程,如下:

[root@localhost local]# /etc/init.d/mysqld start

   启动完成赶紧查看mysql状态,命令: /etc/rc.d/init.d/mysqld status,看看MySQL是否已经启动.

    还可以查看一下 3306 端口是否已经在监听:

[root@localhost local]#netstat -anp|grep LISTEN

   8、给mysql的 root 用户指定密码为”123456″,host为localhost ,如下:

    在目录 /user/local/mysql/下面

[root@localhost local]#bin/mysqladmin --socket=/tmp/mysql.sock --port=3306 -u root -h localhost password '123456'

   注意:确定你的mysql.sock是不是在/tmp/mysql.sock这里,

    可以vi /etc/my.cnf 查看一下(如果没有my.cnf,可以从mysql/support-files/my-medium.cnf拷贝):

sorket=/var/lib/mysql/mysql.sock

   这行就指定了mysql.sock的位置。

    在/var/lib中新建mysql(mkdir /var/lib/mysql),将/tmp/mysql.sock 移至/var/lib/mysql中,

    并修改,命令为

[root@localhost mysql]# bin/mysqladmin --socket=/var/lib/mysql/mysql.sock --port=3306 -u root -h localhost password '123456'

   ok,密码修改成功!

    9、登陆

[root@localhost mysql]# bin/mysql --port=3306 -u root -p -S /var/lib/mysql/mysql.sock
Enter password:
输入 123456
登陆成功!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

   注意:如果登录失败,报如下错误的话:

    Can’t connect to local MySQL server through socket’=/var/lib/mysql/mysql.sock’

    可以在启动命令中加入 -h127.0.0.1,即:

[root@localhost mysql]#bin/mysql -h127.0.0.1 --port=3306 -u root -p -S /var/lib/mysql/mysql.sock

   如果不想使用相对路径登录mysql的话,则可以在/usr/local/bin中建立mysql的一个软连接:

    ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

    注意使用绝对路径。

    至此,你应该可以正常使用mysql了。快去试试吧!

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,252)
  2. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,399)
  3. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
  4. Mysql监控指南 (累计阅读 21,351)
  5. 由浅入深探究mysql索引结构原理、性能分析与优化 (累计阅读 16,523)
  6. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  7. 我的 RHCA 之路 (累计阅读 14,013)
  8. Linux内存点滴 用户进程内存空间 (累计阅读 13,232)
  9. 给程序员新手的一些建议 (累计阅读 13,089)
  10. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,058)