1、下载RPM包
查看Mysql指定RPM包版本: repo.mysql.com/
# mysql version=5.6
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# mysql version=8.0
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装wget(已安装忽略)
yum -y install wget
2、 安装rpm包
安装mysql-community-release-el7-5包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3、安装mysql-server
yum install mysql-server
4、查看是否安装成功
rpm -qa|grep mysql
Mysql目录
# 相关命令
/usr/bin
# 配置文件目录
/usr/share/mysql
# 数据库文件存放目录
/var/lib/mysql
# mysql启动配置文件
/etc/my.cnf.d
# mysql客户端配置文件
client.cnf
# mysql守护进程配置文件
mysql-server.cnf
# 默认权限授权配置文件
mysql-default-authentication-plugin.cnf
5、Centos7 操作Mysql命令
Tip:Centos6使用service操作
# 启动
systemctl start mysqld
# 初始化mysql
mysqld --initialize
# 开启自启动
systemctl enable mysqld
# 重启
systemctl reload mysqld
# 关闭服务
systemctl stop mysqld
# 进入mysql交互
mysql -uroot
6、重置Mysql登录密码
mysql -uroot
# 报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
输入以下指令生成随机密码,通过该密码登录mysql
grep 'temporary password' /var/log/mysqld.log
# 使用密码方式登录mysql
mysql -u root -p
> Enter password: your password
上面生成的随机密码只是临时的,登录进去后必须重置密码才能正常使用
** 【Tip:重置的密码强度要求比较高,可以使用MD5随机密码生成一个带特殊字符的密码,记得备份保存好哦☺】 **
# 重置密码
mysql> alter user 'root'@'localhost' identified by 'strong password';
Query OK, 0 rows affected (0.01 sec)
# 弱密码报错信息
# ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
7、本地远程连接Mysql
a. 添加一个用户,本地通过该用户远程连接mysql
use mysql
# 'username'@'host' identified by 'password'
# % = 通配符,支持从任意远程主机登录
create user 'josen'@'%' identified by 'strong password';
b. 为该用户添加权限
# ALL PRIVILEGES = 所有权限
# *.* = 全局
GRANT ALL PRIVILEGES ON * . * TO 'josen'@'%';
-配置参数说明-
用户权限参数:
ALTER: 修改表和索引
CREATE: 创建数据库和表
DELETE: 删除表中已有的记录
DROP: 抛弃(删除)数据库和表
INDEX: 创建或抛弃索引
INSERT: 向表中插入新行
REFERENCE:未使用
SELECT: 检索表中的记录
UPDATE: 修改现存表记录
FILE: 读或写服务器上的文件
PROCESS: 查看服务器中执行的线程信息或杀死线程
RELOAD: 重载授权表或清空日志、主机缓存或表缓存
SHUTDOWN: 关闭服务器
ALL: 所有权限,ALL PRIVILEGES同义词
USAGE: 特殊的 “无权限” 权限
指定该用户操作数据库和表的范围
*.*: 全局
database.*: 指定数据库所有表
database.tableName: 指定数据表
c. 刷新mysql权限,使添加的权限生效
FLUSH PRIVILEGES;
d. 防火墙开放3306端口
# 开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
# 查看已开放端口列表
firewall-cmd --list-all