衷于栖
  • 衷于栖
  • 首页
  • 归档
  • 关于

Image
Profile Picture

衷于栖

自由开发者

分类目录

三维技术4 介绍2 应用1 异常1 技术笔记17 游戏2 源码解读3 管理5 读书笔记3 车联网3 转载11 随笔3

热门标签

  • GIT
  • 工作流指南
  • docker
  • SCRUM
  • JT808
  • 百度地图
  • 狼人杀
  • 模型数据结构
  • 敏捷
  • 扩展
  • 学习WEBGL系列
  • 可维护
  • GlTF
  • CentOS
  • 高德地图
  • 集中式
  • 郭麒麟
  • 郭德纲
  • 进阶
  • 路由节点编辑器

微信订阅

Image

友情链接

王海达博客 Steve Yegge Debug 客栈 Codelei's Blog 笛卡尔积 Java九点半课堂 薛定喵君

【MYSQL】部署mysql5.6并管理用户

2018-04-17     技术笔记


检查

1
2
service mysql status
lsof -i:3306

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 安装源

# wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
# yum localinstall mysql57-community-release-el7-11.noarch.rpm
# or
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm

# 检查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"

# 修改安装的mysql版本 5.7 -> 5.6 将5.6下的enable设置成1 5.7下的enable设置成0即可
vim /etc/yum.repos.d/mysql-community.repo
# or
yum repolist all | grep mysql
yum-config-manager --enable mysql56-community
yum-config-manager --disable mysql57-community

# 安装
yum install mysql-community-server

# 启动
systemctl start mysqld
# 查看启动状态
systemctl status mysqld
# 开机启动
systemctl enable mysqld
systemctl daemon-reload

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# mysql安全设置
mysql_secure_installation;
# 正常情况下root是没有密码的,直接回车就可以进入。
# 如果登陆不成功,可以使用配置里的修改密码部分重置密码。

# 创建用户
mysql
mysql> create user 'sa'@'%' identified by 'password'; # 普通用户
mysql> create user 'admin'@'%' identified by 'password'; # 管理员用户
# 如果出错 有可能数据库已经存在了这个用户 这时候直接修改密码就好了 使用update语句

# 授予权限
mysql> grant select,insert,update,delete on *.* to 'sa'@'%';
mysql> grant all on *.* to 'admin'@'%';

# 刷新权限
mysql> flush privileges;

# 可以直接增加用户和权限
# mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'userpass' WITH GRANT OPTION;

# 查看编码
mysql> show variables like '%character%'; # 设置见附录

解决问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 修改root密码 root 默认密码是空的 可以直接本地登录
# 解决 Access denied for user 'root'@'localhost' 以及修改密码
systemctl stop mysqld
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
mysqladmin shutdown -u root -p # 关闭安全模式
systemctl start mysqld

# 备份

mysqldump --socket=/home/data/mysql/mysql.sock --single-transaction=TRUE -u root -p xxx > data.sql

# 还原

mysql --socket=/home/data/mysql/mysql.sock -u root -p xxx < data.sql

# 注意 socket目录 在my.cnf中配置

附录

默认文件路径:

配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

编码:

1
2
3
4
5
6
# 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[mysql]
default-character-set=utf-8

注意:如果有安装相关异常,或者本文有任何问题。欢迎指正。联系方式:feedback@zhoyq.com

#mysql #CentOS

Copyright © 2021 zhoyq.com. All rights reserved.

京ICP备 17068495号-1