悦书阁 悦书阁
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档

Felix

大道至简 知易行难
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档
  • 部署文档

    • 博客搭建
    • Jenkins教程
    • Docker安装和简单使用
    • minio安装
    • Mysql安装
      • linux安装mysql
        • 1.下载和安装
        • 2.创建用户组和授权
        • 3.初始化数据库
        • 4.配置
        • 5.修改密码
      • Docker安装mysql
        • 1.拉取mysql镜像
        • 2.启动mysql
        • 3.修改密码
        • 4.设置不区分大小写
      • 问题记录
        • 1.MYSQL5.7版本sqlmode=onlyfullgroupby问题
        • 2.mysql连接失败处理
        • 3.mysql修改密码
        • 4.微信昵称有特殊符号,导致插入MySQL时出错的解决方案
    • Redis安装
    • Docker部署服务
  • 常用手册

  • 经验技巧

  • 技术文档
  • 部署文档
liufei379
2022-06-10
目录

Mysql安装

# linux安装mysql

# 1.下载和安装

mkdir /usr/local/mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64/* /usr/local/mysql/
ls 查看mysql下无data文件夹,需要手动创建 mkdir data
1
2
3
4
5

# 2.创建用户组和授权

groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql (禁止使用mysql用户进行远程登录)
chown -R mysql.mysql /usr/local/mysql/  (授权)
1
2
3

# 3.初始化数据库

# 安装
yum -y install numactl
# 进入mysql bin目录
cd /usr/local/mysql/bin
# 执行以下语句
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
# 注意:安装完后要记住初始化密码。
1
2
3
4
5
6
7

# 4.配置

打开配置文件vim /etc/my.cnf,添加如下图配置

img

 # 创建相关目录和授权
 mkdir /var/log/mariadb
 touch /var/log/mariadb/mariadb.log
 chown -R mysql:mysql /var/log/mariadb/
 # 设置便捷启动
 cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
 # 设置之后 可以通过如下命令启动mysql
 service mysqld start
1
2
3
4
5
6
7
8

# 5.修改密码

# 进入mysql bin目录
cd /usr/local/mysql/bin
# 进入mysql 并输入初始密码
./mysql -uroot -p
# 登录之后修改密码
set password for 'root'@localhost=password('123456') ;修改密码
1
2
3
4
5
6

# Docker安装mysql

# 1.拉取mysql镜像

docker pull mysql:5.7
1

# 2.启动mysql

# 密码先设置123456,然后进入容器再修改
docker run -p 3306:3306 --name mysql -v /mydocker/mysql/conf:/etc/mysql/conf.d -v /mydocker/mysql/logs:/var/log/mysql -v /mydocker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
1
2

提示

如果报错 Check if the specified host path exists and is the expected,则先在 /docker/mysql/conf/ 下touch my.cnf

# 3.修改密码

# 进入容器
docker exec -it mysql bash
# 连接mysql
mysql -uroot -p
# 修改密码
use mysql;
-- 内部密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
-- 外部密码
set password for 'root'@'%' = password('123456');
flush privileges;
quit;
1
2
3
4
5
6
7
8
9
10
11
12

# 4.设置不区分大小写

# 进入容器
docker exec -it mysql /bin/bash
# 打开配置文件(如果没有提示没有命令,则需要安装相关组件 查看 http://blog.yueshuge.cn/pages/93e916/#docker%E5%AE%89%E8%A3%85 问题记录)
vim /etc/my.cnf
在datadir下添加
lower_case_table_names=1
# 重启mysql
1
2
3
4
5
6
7

# 问题记录

# 1.MYSQL5.7版本sql_mode=only_full_group_by问题

%错误信息
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
%解决方案
select @@global.sql_mode
%查询出来的值为:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
%去掉ONLY_FULL_GROUP_BY,重新设置值。
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
1
2
3
4
5
6
7
8

# 2.mysql连接失败处理

img

mysql -uroot -p
# 输入密码
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
1
2
3
4
5

# 3.mysql修改密码

# 1.旧密码修改新密码 
mysql -uroot -p
# 输入原来的密码
use mysql;
update user set password=password("123456") where user='root';
flush privileges;
exit;

# 2.忘记密码
/etc/init.d/mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
update user set password=password('123456') where user='root';
flush privileges;
exit
/etc/init.d/mysql restart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4.微信昵称有特殊符号,导致插入MySQL时出错的解决方案

在微信昵称插入数据库之前进行一次转换
import org.apache.commons.codec.binary.Base64;
1
2

img

在取出时,进行解码,即可正常显示
1

img

上次更新: 2026/3/11 22:17:56
minio安装
Redis安装

← minio安装 Redis安装→

最近更新
01
实现idea开发的关键步骤
10-05
02
Redis高可用架构
09-09
03
Zookeeper高可用
08-31
更多文章>
Theme by Vdoing | Copyright © 2022-2026 Felix | 粤ICP备17101757号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式