亲身经历了MySQL初学者的痛苦,把主要问题和解决方法整理一下。
一、解压版环境配置
1.把压缩包解压到某盘符下。
解压后在类似“E:\mysql-5.7.22-winx64”这个文件夹中可以看到以上文件。
2.配置环境变量
右键我的电脑——属性——高级系统设置——环境变量——新增Path系统变量——路径为mysql下的bin,类似“E:\mysql-5.7.22-winx64\bin”
3.设置mysql配置文件
回到mysql文件夹,新建一个my.ini文件。不显示扩展名的同学新建一个文本文档点另存为,名称为my.ini,类型为全部文件。
输入完成后保存并关闭。内容如下:
[mysqld]
character-set-server=utf8
#绑定IPv4,如果是0.0.0.0则表示任意IP都可以访问,也可以指定可以访问的IP
bind-address = 0.0.0.0
# 设置mysql的安装目录,即你解压缩安装包的位置
basedir = E:\mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录
datadir = E:\mysql-5.7.22-winx64\data
# 设置端口号
port = 3306
# 允许最大连接数
max_connections = 200
# 设置字符集为utf8
loose-default-character-set = utf8
#开启查询缓存
explicit_defaults_for_timestamp = true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
#设置客户端字符集
default-character-set = utf8
[WinMySQLadmin]
Server = E:\mysql-5.7.22-winx64\bin\mysqld.exe
[mysql]
default-character-set=utf8
4.安装mysql
用管理员身份运行cmd,进入到mysql下的bin,输入“mysqld -install”,完成安装。输入"mysqld --initialize"完成初始化,完成后mysql目录会生成Data目录。
注:命令提示符一定要cd进入到mysql的bin目录下。如果不慎未进入bin目录就执行了“mysqld -install”安装了服务,请在管理员身份cmd下输入 "sc delete mysql"删除服务,再回到4步骤执行。
5.设置密码
完成安装后,输入"mysql"即可进入欢迎界面,输入指令设置密码。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
6.设置操作权限
mysql> use mysql;
mysql> grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
mysql> flush privileges;
二、问题及解答
问题:数据库里输入中文数据,查询显示乱码。
解决方法:
登录mysql设置字符集
让数据库支持中文编码的数据。其中gbk也可以改成UTF-8。
show variables like 'char%';
set character_set_database='gbk';
set character_set_server='gbk';
status;
问题:忘记密码
解决方法:
在cmd中进入到mysql下的bin,输入“mysqld --skip-grant-tables”
C:\Users\Kevin.L>E:
E:\>cd E:\mysql-5.7.22-winx64\bin
E:\mysql-5.7.22-winx64\bin>mysqld --skip-grant-tables
现在不要关闭它,打开另一个cmd,直接输入"mysql"登录后,输入
use mysql;
update user set password=password("123") where user="root";
flush privileges;
关闭两个cmd,打开服务——找到mysql服务——重启——重新登录mysql
问题:改密码出现ERROR 1054(42S22) Unknown column 'password' in ‘field list’报错
原因: 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
解决方法:
输入指令:
update mysql.user set authentication_string=password('123') where user='root';
flush privileges;
最后推荐几个mysql可视化界面工具:
客户端界面基于C/S:
官方提供:MySQL Administrator、MySQL Workbench
第三方提供:Navicat、Sequel Pro、HeidiSQL、SQL Maestro MySQL Tools Family、SQLWave、dbForge Studio、DBTools Manager、MyDB Studio、Aqua Data Studio、SQLyog、MYSQL Front、SQL Buddy等。
浏览器界面基于B/S:phpMyAdmin、phpMyBackupPro、MySQL Sidu等。
此外,强大的Xshell也能连Mysql哦。