centos7下源码编译安装mysql5.6最新版本

1.检查 MySQL 是否已安装

yum list installed | grep mysql
如果有,就先全部卸载,命令如下:
yum -y remove mysql-libs.x86_64
若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。

2.依赖安装

MySQL 依赖 libaio,所以先要安装 libaio
yum search libaio # 检索相关信息
yum install libaio # 安装依赖包

3.下载 MySQL Yum Repository

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
如果提示-bash: wget: 未找到命令,请先执行 yum install wget 安装 wget

4、安装

添加 MySQL Yum Repository
添加 MySQL Yum Repository 到你的系统 repository 列表中,执行
yum localinstall mysql-community-release-el7-5.noarch.rpm
提示是否 OK ,输入 y

验证下是否添加成功
yum repolist enabled | grep “mysql.-community.

选择要启用 MySQL 版本
查看 MySQL 版本,执行
yum repolist all | grep mysql
可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6

yum repolist enabled | grep mysql 查看当前的启动的 MySQL 版本

通过 Yum 来安装 MySQL
yum install mysql-community-server
遇到上述提示,输入 y 继续,执行完成会提示“完毕!”。此时MySQL 安装完成,
它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四个包。

执行 whereis mysql 可以看到 MySQL 的安装目录是 /usr/bin/

5、启动和关闭 MySQL Server

启动 MySQL Server
systemctl start mysqld

查看 MySQL Server 状态
systemctl status mysqld

关闭 MySQL Server
systemctl stop mysqld

6、防火墙设置

远程访问 MySQL, 需开放默认端口号 3306
firewall-cmd方式
firewall-cmd –permanent –zone=public –add-port=3306/tcp
firewall-cmd –permanent –zone=public –add-port=3306/udp

7、MySQL 安全设置

服务器启动后,可以执行
mysql_secure_installation;
此时输入 root 原始密码(初始化安装的话为空),接下来,为了安全,MySQL 会提示你重置 root 密码,移除其他用户账号,
禁用 root 远程登录,移除 test 数据库,重新加载 privilege 表格等,你只需输入 y 继续执行即可。

8、远程访问设置

创建一个普通用户 sa ,密码是 some_pass
CREATE USER ‘zalocal’@’%’ IDENTIFIED BY ‘zhian@local#’;
给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问
GRANT SELECT,INSERT,UPDATE,DELETE ON . TO ‘zalocal’@’%’;

创建一个管理员用户 admin 账号 ,密码是 some_pass
CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘some_pass’;
给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。
GRANT ALL ON . TO ‘admin’@’%’;

使授权立刻生效
flush privileges;

9、更改数据存放目录

创建数据存放目录
home 目录下建立 data 目录
mkdir /opt/data

把 MySQL 服务进程停掉
如果 MySQL 是启动的,要先关闭
mysqladmin -u root -p shutdown
systemctl stop mysqld

移动数据到数据存放目录
/var/lib/mysql 整个目录移到 /opt/data,执行
mv /var/lib/mysql /opt/data

这样就把 MySQL 的数据文件移动到了 /opt/data/mysql 下

修改 /etc/my.cnf 文件,

#########################################
[mysqld]
datadir=/home/data/mysql
socket=/home/data/mysql/mysql.sock

[mysql]
socket=/home/data/mysql/mysql.sock

#########################################
修改文件夹权限
chown -R mysql:mysql /home/data/mysql

重启后,如果不能启动 MySQL 服务,执行
vi /etc/sysconfig/selinux
调整
SELINUX=permissive 调整为宽松模式
保存设置,执行 reboot 重启生效

10、开机自起服务

查看 MySQL 服务是否开机启动
systemctl is-enabled mysql.service;echo $?
如果是 enabled 则说明是开机自动,如果不是,执行
chkconfig –levels 235 mysqld on

11、设置字符集

一般的,为了支持中文,我们应该讲字符集设为 UTF-8, 在mysql控制台执行
SHOW VARIABLES LIKE ‘character%’;
查看当前 MySQL 字符集

可以看到默认服务器的字符器是 latin1 ,对中文不友好。
修改 /etc/my.cnf 文件,添加字符集的设置

##########################################################
[mysqld]
character_set_server = utf8

[mysql]
default-character-set = utf8

##########################################################

重启 MySQL ,可以看到字符集已经修改了
SHOW VARIABLES LIKE ‘character%’