Centos6.5的MySQL5.7.15二进制源码单机版安装

时间:2022-11-13 01:40:59

0.说明

最近在CentOS6.5上安装mysql,想要知道具体的安装过程,不想要通过yum直接一键安装,折腾一番,但是总遇到些麻烦。于是将mysql文档中的关于如何在Linux上安装mysql的部分仔细的读了一遍,又Google了广大网友的经验贴。总结起来在CentOS或者Red Hat上安装mysql可以有三种方式:

  • 使用rpm -ivh xxx.rpm 或者 yum install xxx (一般推荐使用rpm来安装,需要弄清各个关键目录在哪)
  • 使用编译好的通用二进制版本的mysql来安装(Generic Binaries mysql) (我就是使用方法2来安装的)
  • 使用源码来编译安装。

Linux通用二进制版本mysql是在当我们使用rpm或者yum方法安装失败时,可以使用的方法。因为通用二进制版本对glibc等lib库的版本要求不是很高。所以使用这种方法,可以很好的解决:在低版本的CentOS上安装高版本的mysql。

1.下载

打开网页

http://dev.mysql.com/downloads/mysql/

Select Platform 中选择Linux - Generic,根据自己的系统选择32位或者64位的。

2.创建用户组和用户名(可选)

创建mysql用户组和用户名,相关命令如下:

groupadd mysql
useradd -g -r mysql mysql

3.解压,指定目录

将mysql安装包上传到centos系统的目录/usr/local/,解压软件包。将解压后生成的目录,改名为mysql,/usr/local/mysql就是MySQL数据库的安装目录(basedir)。

cd /usr/local/ #进入安装目录,安装包已经放在这里

tar  -vxfz mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz #解压

mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql #改名为mysql

4.创建mysql数据目录和日志目录

mysql在初始化数据库的时候会用到该数据目录

mkdir /usr/local/data   #数据目录
mkdir /usr/local/logs #日志目录

5.更改目录权限

修改相关目录为mysql专属用户组和用户名

chown -R mysql:mysql /usr/local/mysql

6.创建my.cnf文件

vi /etc/my.cnf

#文件内容:

[client]
port=3306
socket=/tmp/mysql.sock [mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql-5.7.16/data/mysql.pid
log_error=/usr/local/mysql-5.7.16/logs/mysql-error.log default-character-set=utf8 #配置字符编码
port=3306
server_id=10
user=mysql sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

7.初始化mysql

进入数据库目录,以下配置都在/usr/local/mysql下,完成初始化:

#初始化命令1
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp #初始化命令2
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

等待初始化后,如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。查看日志文件会看到A temporary is generated for root@localhost:u_7UR<%ox- 。MySQL初始化完成后,就可以使用这个密码,在本机通过root用户登录。

8.配置启动文件,启动MySQL服务

Mysql的启动文件mysql.server放在mysql源码包中,如下目录/usr/local/mysql/support-files,复制该文件同时改名为mysql到/etc/init.d/mysql:

#拷贝启动服务命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #启动mysql服务
/etc/init.d/mysql

9.配置环境变量和开机自启动

配置环境变量:

vim /etc/profile

#在文件最后加上下面两句话
export mysql_home=/usr/local/mysql
export PATH=$PATH:$mysql_home/bin
(也可以不用vi打开文件修改,直接在shell执行命令也可以完成配置:echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile) #修改文件,使配置立即生效
source /etc/profile

设置开机自启动:

chkconfig --add mysql #添加mysql服务到开机自启动列表
chkconfig mysql on #开机自动启动

10.登录mysql服务

mysql -uroot -p  #这里直接回车

password:  #输入从日志文件里面的初始化密码

登录后,在重设密码之前,什么都不能干,所以要重设秘密:

mysql>alter user root@localhost identified by '你的密码';

这之后就可以正常进行数据库的各种操作了。

注意在5.7中存储密码的字段不再是password了,变成了authentication_string,如果要修改密码,就要执行下面的语句:

update mysql.user set authentication_string=password("root") where user="root";

参考链接:

http://blog.chinaunix.net/uid-25909722-id-4605091.html

http://www.th7.cn/system/lin/201607/172036.shtml

http://dev.mysql.com/downloads/mysql/

http://blog.sina.com.cn/s/blog_4b50392101017wln.html