Docker环境下的Mysql相关报错记录

奇淫小技巧

Posted by 淼淼淼 on August 23, 2018

到底Docker环境下mysql的配置文件在哪儿?

  • 曰:/etc/mysql/mysql.conf.d/mysqld.cnf

修改Mysql数据库中数据的格式

  • 查看各个参数编码格式曰: show variables like 'char%'; OR ` show variables;`;
  • 修改各个参数状态曰:在配置文件中mysqld.cnf => character-set-server = utf8; OR set global character_set_server = utf8;
  • 修改好后重启mysql曰:service mysqld restart;

我要编辑Docker环境下的MySQL配置文件

  • 安装vim呗.
    • 更新apt-get:apt-get update;(命令作用:同步/etc/apt/sources.list AND /etc/apt/sources.list.d 中列出的源的索引;APT:Linux发行版中的软件包管理工具)
    • 安装vim:apt-get install vim

我要切换Mysql的数据库

  • 曰:use database_name;

解决 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题

  • 曰:使用密码登录即可mysql -u root -p => Enter password:
  • 如果密码忘了咋办?
  1. 更新密码
    • 停止mysql服务的运行:/etc/init.d/mysqld stop;
    • 跳过受权表访问:mysqld_safe --user=mysql --skip-grant-tables --skip-networking &;
    • 登录mysql:mysql -u root mysql;
    • 把空的用户密码都修改成非空的密码:(mysql5.7以下):mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' ;and host='127.0.0.1' or host='localhost';(mysql5.7):update mysql.user set authentication_string=password;('newpassword') where user='root' and host='127.0.0.1' or host='localhost';;
    • 刷新MySQL的系统权限相关表:mysql>FLUSH PRIVILEGES;;
    • 离开并重启mysql:mysql> quit =>/etc/init.d/mysqld restart;
  2. 修改配置文件忽略密码登录Mysql(安全问题)
    • 修改配置参数:[mysqld]下面加上:skip-grant-tables;
    • 重启Mysql:service mysqld restart;
    • (此时所有用户登录当前数据库都是免密码的,所以此时数据库的安全性是非常低的.)

bye