mysql安装及远程连接配置
下载zip安装包:
下载地址:https://dev.mysql.com/downloads/
进入页面后可以不登录。后点击底部“No thanks, just start my download.”即可开始下载。
或直接下载:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-winx64.zip
环境:Windows 10
一,安装
1.1,解压zip包到安装目录
比如我的安装目录是:D:\MySQL
1.2,配置文件
我们发现解压后的目录并没有my.ini文件,没关系可以自行创建。在安装根目录下添加 my.ini,比如我这里是:D:\mysql\mysql-8.0.17-winx64\my.ini,写入基本配置:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\MySQL # 设置mysql数据库的数据的存放目录 datadir=E:\database\MySQL\Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
注意,新建配置文件的时候,注意保存格式,不然容易掉坑里
里面的 basedir 是我本地的安装目录,datadir 是我数据库数据文件要存放的位置,各项配置需要根据自己的环境进行配置。
查看所有的配置项,可参考:https://dev.mysql.com/doc/refman/8.0/en/mysqld-option-tables.html
1.3,配置环境参数
1.4,初始化数据库
前面已经配置好环境参数,这里可以直接以管理员身份打开cmd命令行,执行一下命令:
mysqld --initialize --console
注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost:*fq4+a8b3OdS,其中root@localhost:后面的 “*fq4+a8b3OdS”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手快,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
参考:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
1.5,安装服务
接着执行命令:
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。
参考:https://dev.mysql.com/doc/refman/8.0/en/windows-start-service.html
二,更改密码
执行命令:
mysql -u root -p
这时候会提示输入密码,记住了上面第1.4安装时的密码,填入即可登录成功,进入MySQL命令模式。
my.ini配置文件中MySQL的密码认证插件默认是“mysql_native_password”
所以直接执行命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
至此安装部署完成。
-----------------------------------------------------------------------------------------------------------------------------------
安装部署完成后,配置mysql远程连接,默认情况下,mysql是不允许远程连接的。
MYSQL 8.0不支持创建用户时授权,必须先创建,后授权(这是个坑,希望以后的人不会再踩)
1.创建用户
create user 'username'@'localhost' identified by 'pwd';
例子:create user 'admin'@'%' identified by '123456';
2.赋予权限
grant all privileges on *.* to 'username'@'%';
flush privileges ;
例子:grant all privileges on *.* to 'admin'@'%' with grant option;
flush privileges ;
-----------------------------------------------------------------------------------------------------------------------------
另外远程连接时,别忘了防火墙打开3306端口,不然是连不上的。
其他命令,可学习一下:
1.创建用户 create user 'username'@'localhost' identified by 'pwd' 2.修改访问权限 在mysql数据下修改user表用户host为'%' update user set host='%' where user='username' 3.修改密码 MYSQL8.0密码默认加密方式为 default_authentication_plugin=caching_sha2_password 所以会造成不兼容问题 alter user 'username'@'localhost' identified with mysql_native_password by 'newpwd' 4.修改操作权限 MYSQL 8.0不支持创建用户时授权,必须先创建,后授权 grant all privileges on *.* to 'username'@'%' with grant option;