下载地址:http://repo.mysql.com/

安装MySQL5.7

# 1、环境检查
$ rpm -qa | grep mysql # 检查是否安装有mysql
$ rpm -e mysql   # 普通删除模式
$ rpm -e --nodeps mysql  # 强力删除模式

# 2、下载rpm
$ wget http://repo.mysql.com/mysql57-community-release-el7.rpm
$ rpm -ivh mysql57-community-release-el7.rpm

# 3、查看repo(我也不太清楚,跟着教程做)
$ ls -lh /etc/yum.repos.d/
mysql-community.repo
mysql-community-source.repo

# 4、安装server
$ sudo yum -y install mysql-server # 安装
$ sudo yum -y remove mysql-server # 移除

# 5、初始化,目录不存在会报错
$ mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data

# 6、修改配置
$ vim /etc/my.cnf
datadir=/opt/mysql/data
basedir=/opt/mysql

# 7、查看密码
$ grep 'temporary password' /var/log/mysqld.log

# 8、启动服务
$ service mysqld start # 启动服务
$ service mysqld restart # 重启服务
$ service mysqld status # 服务状态

# 9、重置密码
$ mysql
mysql> SET PASSWORD = PASSWORD('新密码');

# 查看版本
$ mysql --version
mysql> select version();

配置外网访问

# 1、修改配置文件
$ whereis my
my: /etc/my.cnf

$ vim /etc/my.cnf
port=3306
bind-address=0.0.0.0

# skip-grant-tables # 登录时跳过权限检查

# 2、设置账号
mysql> use mysql;
mysql> select host, user, password from user;
mysql> update user set host='%' where user = 'root';
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

# 3、重启服务

设置账号和权限

mysql> create database data;
mysql> create user 'user'@'%' identified by '123456';
mysql> grant all privileges on data.* to 'user'@'%'; # 赋予user用户data数据库的所有权限

修改字符集

查看字符集

mysql> show variables like "%character%"

修改字符集/etc/my.cnf

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character_set_server = utf8mb4

修改已建数据库字符集

mysql> alter database <database> CHARACTER SET utf8mb4;


参考
​MySQL5.7 修改数据库默认编码​


开启binlog

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=Row

遇到的问题

1、liunx下安装mysql出现 key ID 5072e1f5: NOKEY的问题

原因:这是由于yum安装了旧版本的GPG keys造成的

解决方法:在后面加上–force --nodeps

比如:

$ rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm --force --nodeps


参考
mysql5.7设置允许外网访问CentOS7.0使用yum安装MySQL及使用遇到的问题mysql如何创建用户