文档目的

使用mysql二进制安装包在linux系统上安装部署mysql

 

系统环境

操作系统:LinuxLinux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version   4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) centos 7

 

mysql版本:mysql-5.6.29-linux-glibc2.5-x86_64

 

 

 

操作步骤

1.上传最新版本的镜像到/usr/local/src

 

2.解压tar.gz 压缩包,将解压后的文件移到/usr/local下,

 

tar zxvf mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz

 

并命名为mysql

mv  mysql-5.6.29-linux-glibc2.5-x86_64   mysql

 

3.此处为了防止mysql不用到除自身以外的服务,新建一个mysql组和用户mysql

 

,并对文件夹/usr/local/mysql授权改用户:

 

useradd mysql

 

设置密码

passwd mysql

 

 

 

将操作/usr/local/mysql的权限赋予组mysql:   

 

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

 

 

 

初始化mysql需要生成授权表,添加用户mysql, 之前要先安装perl-Module-Install.noarch帮助编译:

 

yum install -y perl-Module-Install.noarch

 

 

 

生成授权表:

 

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

注:如果没有执行这个mysql_install_db 授权命令,可能会报错“Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid)

 

4.初始化配置:

 

要优化小型数据库的配置,要复制/usr/local/mysql/support-files/my-default.cnf文件到/etc/my.cnf

 

cp   /usr/local/mysql/support-files/my-default.cnf   /etc/my.cnf

 

 

修改配置

vim /etc/my.cnf

 

wKiom1jN81uBcudPAACMvQnK-7E059.png


[client]

default-character-set = utf8mb4

#socket=/var/lib/mysql/mysql.sock

 

[mysql]

default-character-set = utf8mb4

 

.

.
.

max_connections = 500

max_connect_errors = 200

read_buffer_size = 8M

##内存表容量

max_heap_table_size=1024M

###临时表容量

tmp_table_size=1024M

#不区分表名和字段名的大小写

lower_case_table_names=1

 

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

.

.

.

 

5. 加入启动项

 

复制/usr/local/mysql/support-files/mysql.serve/etc/init.d/mysql,

cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql

 

(注:这一步必须操作,否则无法使用service mysql start 开启mysql服务)

 

并修改参数

 

basedir=/usr/local/mysql

 

datadir=/usr/local/mysql/data

 

 

 

添加开机启动服务

 

chkconfig --add mysql

 

chkconfig mysql on

 

 

 

6.配置环境变量

 

 

vi /etc/profile

 

 

 

最后加上一句

 

##MYSQL 5.6 ##

 

export MYSQL_HOME="/usr/local/mysql"

 

export PATH="$PATH:$MYSQL_HOME/bin"

 

 

 

让修改的profile文件立即生效

 

source   /etc/profile

 

 

 

7.开启binlog功能

 

 

(注:在my.cnf文件的[mysqld]下加上一行(windowsmysql.ini)  

 

#vi /etc/my.cnf



wKioL1jN836zo3ZGAABKXtw2HBY076.png


8. 启动mysql

 

service mysql start

 

 

(注:数据库的字符集必须设为:utf8mb4 -- UTF-8 Unicode(支持表情包))

 

 

(注:此安装方式没有账户名和密码为空,直接输入mysql可以登入)

常见问题

问题一:安装mysql完后执行service mysql start  报错:“Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).[失败]”

 

解决方法:

 

1. 确保以下命令参数的路径和名称正确,再次执行一遍即可

 

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

 

2. 可能进程里已经存在mysql进程

解决方法:用命令ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld

 

3. 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186

 

4. mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)

解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

 

5. skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

 

6. 错误日志目录不存在

解决方法:使用chown” “chmod”命令赋予mysql所有者及权限

 

7. selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

 

8. 可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限

解决方法 :给予权限,执行chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld

 


参考文献


感谢同事亦杉的整理分享!