- 官网下载mysql-5.7.28-winx64.zip,并解压
- 在解压后的目录下新建my.ini文件。粘贴以下内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\Develop\\mysql-5.7.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\Develop\\mysql-5.7.28-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
skip-grant-tables
- 配置环境变量———变量名:MYSQL_HOME;变量值:mysql解压路径;
Path中添加%MYSQL_HOME%\bin
- 管理员方式运行cmd,cd到mysql目录下的bin目录;
键入mysqld --initialize;回车mysql目录下会自动生成data文件夹;
然后键入 mysqld --install
提示Service successfully installed.表示mysql服务安装成功;
![](https://img2020.cnblogs.com/blog/1482171/202005/1482171-20200509161918078-141301667.png)
- 设置root账号的密码
启动服务:net start mysql;
新建一个cmd窗口,无需管理员方式启动,输入msyql -uroot -p; 回车要求输入密码;不用输,继续回车;(因为my.ini配置文件中设置了skip-grant-tables)
use mysql;
update mysql.user set authentication_string=password('your password') where user='root';
设置完成后要把my.ini配置文件中的skip-grant-tables删掉,或者注销掉,在前面加#;
然后回到管理员权限的cmd窗口重启mysql服务;
net stop mysql;
net start msyql;
现在就可以用可视化工具通过设置的密码连接MySQL数据库了。
如果用cmd连接mysql后输入sql语句提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
那就输入alter user user() identified by 'your password';重置下密码,然后就可以执行sql语句了。
- 设置远程访问
由于用户mysql数据库中user表里root记录的Host为localhost,所以目前只能是本地可以连接;
cmd连接msyql后,执行以下语句;
grant all privileges on *.* to 'root'@'%' identified by 'your password' with grant option;
flush privileges;
- 设置防火墙规则
可以参考这篇博客为MySQL新建入站规则
- 新建用户并授权
创建用户
create user 'username'@'host' identified by 'your password';
username:用户名;
host:主机地址,‘%’表示任意主机;
授权
grant privileges on databasename.tablename to 'username'@'host';
privileges:授予的权限,select,insert等;全部用all
databasename:将要授权哪个数据库;
tablename:将要授权哪个表;通配符“*”代表全部;
例如授权某个数据库的所有权限给某个用户 grant all on learn.* to 'learn'@'%';