千家信息网

Linux下二进制免编译安装mysql

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,1、下载mysql到/usr/local/src/cd /usr/local/src/wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.30
千家信息网最后更新 2025年11月07日Linux下二进制免编译安装mysql

1、下载mysql到/usr/local/src/

cd /usr/local/src/wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

2、解压

[root@server1 src]# tar -zxvf/usr/local/src/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

3、建立mysql用户

[root@server1 src]# groupadd mysql[root@server1 src]# useradd -g mysql -s/sbin/nologin -M mysql[root@server1 src]# id mysqluid=500(mysql) gid=500(mysql)groups=500(mysql)

4、把解压完的数据移动到/usr/local/mysql

[root@server1 src]# mv mysql-5.6.30-linux-glibc2.5-x86_64 /usr/local/mysql

bin 目录包含客户端工具及mysqld

data 目录存放数据库数据文件及日志文件

docs 目录包含info格式的用户手册

include 目录包含mysql头文件

lib 目录包含相关lib

mysql-test 目录包含mysql的一些测试脚本文件

scripts 目录存放mysql_install_db初始化文件

share 目录存放各种支持文件,包括错误信息,语言编码支持,sql安装脚本等。

Sqlbench 目录存放benchmark脚本

support-file 目录存放mysql配置文件模板


5、创建数据库存放的目录,并授权

[root@server1 mysql]# mkdir -p /data/mysql        [root@server1 mysql]# chown -R mysql.mysql /data/mysql/[root@server1 mysql]# chown -R mysql.mysql /usr/local/mysql/.    //数据库安装路径


6、复制mysql配置文件到/etc/my.cnf

[root@server1 mysql]# rm -f /etc/my.cnf[root@server1 mysql]# cd support-files/[root@server1 support-files]# lsbinary-configure  magic mysqld_multi.server  mysql-log-rotate  mysql.server[root@server1 support-files]# cp /usr/local/mysql/support-files//etc/my.cnf


编辑/etc/my.cnf配置文件,添加以下行

 user = mysql                        //用户 basedir = /usr/local/mysql          //基本目录 datadir = /data/mysql               //数据库保存目录 port = 3306              //数据库端口 socket = /data/mysql/mysql_3306.sock                log-error = /data/mysql/mysql_error.log     //数据库错误日志文件 pid-file = /data/mysql/mysql.pid            //数据库进程占用PID号  #内存使用限制 performance_schema_max_table_instances=400   table_definition_cache=400   table_open_cache=256

7、初始化数据库

[root@server2 mysql]#/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/[root@server2 mysql]# echo $?                  0

初始化数据库常见的问题: 系统版本与数据库版本不一致,导致初始化数据库出错。

8、复制mysql启动脚本到/etc/init.d/mysqld

[root@server1 support-files]# cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld[root@server1 support-files]# chmod +x/etc/init.d/mysqld


9、加入开机自启动mysql服务

[root@server1 mysql]# chmod +x/etc/init.d/mysqld[root@server1 mysql]# chkconfig --addmysqld[root@server1 mysql]# chkconfig -level 35 mysqldon

10、 启动mysql服务

[root@server1 mysql]# /etc/init.d/mysqldstartStarting MySQL.                                           [   ]

11、 msyql服务启动后,查看/data/mysql多了一些文件

[root@server1 mysql]# ls /data/mysql/auto.cnf ib_logfile0  mysql     mysql_error.log  performance_schemaibdata1  ib_logfile1  mysql_3306.sock  mysql.pid        test [root@server1 mysql]# netstat -lnapt |grepmysqld                    tcp       0      0 :::3306      :::*        LISTEN      3195/mysqld


12、加入环境变量

[root@server1 ~]# vim/etc/profile.d/mysql.sh

#!/bin/bashexportPATH="$PATH:/usr/local/mysql/bin"

[root@server1 ~]# source/etc/profile.d/mysql.sh

13、 新加的mysql没有设置root密码,可以通过下面命令设置root密码:

#/usr/local/mysql/bin/mysqladmin -S /data/mysql/mysql_3306.sock-u root password 'new-password'

14、登录mysql

[root@server2 ~]# mysql

ERROR 2002 (HY000): Can'tconnect to local MySQL server through socket '/tmp/mysql.sock' (2)

问题:/tmp目录下没找到mysql.sock,解决办法有三种:

1) 将/data/mysql/mysql_3306.sock做软链接到/tmp/mysql.sock

ln -s /data/mysql/mysql_3306.sock/tmp/mysql.sock

2) 修改/etc/my.cnf,添加以下行

[client]

socket = /data/mysql/mysql_3306.sock

3) 执行以下命令指定socket连接文件,mysql -S /data/mysql/mysql_3306.sock

[root@server1 ~]# mysql -S/data/mysql/mysql_3306.sock


0