MySQL5.7
docker安装mysql
- docker pull mysql:5.7

1 | docker run -p 3306:3306 --name mysql \ |

- vi /mydata/mysql/conf/my.cnf
1 | [client] |
docker restart <docker_id>
MySQL5.7绿色版(免装版)的初始化和修改密码

配置环境变量
系统—>高级系统设置—>环境变量—>系统变量
点击新建,变量名为:MYSQL_HOME,添加你的mysql文件夹所在位置。编辑Path,复制;%MYSQL_HOME%\bin到原有值的后面
配置my.ini文件
在mysql根目录下新建my.ini文件
1 | [client] |
- 创建完成后进入下一步。
安装MySQL
- 在输入框内输入cmd,以管理员的身份运行,注意这里一定一定一定要以管理员的身份运行,否则在安装过程中会出现因为管理权限不够而导致的Install/Remove of the Service Denied!(安装/卸载服务被拒绝),这一点非常重要!
- 在cmd中进入到mysql\bin目录下:
- 输入安装命令:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd:
- 然后继续输入命令:mysqld --initialize,此时不会有任何提示:
- 再输入启动命令:net start mysql,出现以下提示证明MySQL启动成功:
1 | 如若无法启动,参照如下 |
- 设置MySQL密码
- 在这里设置密码主要是为了解决:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)的问题
- 首先停止MySQL服务,输入命令行net stop mysql:
- 在mysql根目录下找到my.ini,在[mysqld]字段下任意一行添加skip-grant-tables,保存即可
- 重启MySQL,输入启动命令:net start mysql,出现以下提示证明MySQL启动成功
- 在输入命令mysql -u root -p,不需要输入密码,直接回车
- 输入命令行use mysql,进入数据库:
- 输入命令行update user set authentication_string=password("xxxxxx") where user="root";xxxxxx是设置的新密码,敲击回车后若出现以下信息,证明修改成功!
- 手动停止MySQL服务,在win10搜索栏内输入服务,找到MySQL。点击右键,然后点击停止即可。
- 然后在刚刚的my.ini文件中删除skip-grant-tables这一行,保存关闭。
- 再次启动cmd(管理员身份),输入启动命令:net start mysql,再输入mysql -u root -p,再输入刚刚设置的密码
- 然后输入命令行use mysql验证一下,结果报错:
- 键入命令行alter user user() identified by "xxxxxx";(此我键入 alter user user() identified by "root";回车!)
- 再次输入命令行use mysql验证一下,成功!
批量执行.sql
编写批处理文件(xxx.bat)
1 | for %%i in (C:\Users\Administrator\Desktop\main\*.sql) do ( |
mysql5.7设置允许外部访问(转自https://blog.csdn.net/qq_17810899/article/details/90642207)
mysql 默认只允许本地的localhost访问。网上有一堆更改为允许外部访问的教程,但是由于mysql版本的原因,无一例外的都失败了。
最后在一篇文章发现了缺失的一个操作。所以现在记录一下
步骤
mysql -u root -p 登录数据库
use mysql; 选择基础信息数据库
select User,authentication_string,Host from user 查询数据库用户,在这里正常来说,应该都localhost
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456'
新增一个root用户,所有地址(%)的都可以访问,并且密码为123456 。这里可以根据你的情况酌情修改
flush privileges; 清除缓存,重新加载权限
1 | 一般来讲如果是旧版的mysql,以上的操作,就已经让数据库可以外部访问了。但是很遗憾,在mysql5.7中,上面还不足够。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!