安装Mysql,我这里以MySQL 8.0.15版本为例。
1、通过官网下载所需要的mysql版本:https://dev.mysql.com/downloads/mysql/
2、 将zip文件夹解压到安装目录
3、 编写my.ini文件,将文件放到安装目录下。
[client] port=3306 default-character-set=utf8mb4 [mysqld] port=3306 character-set-server=utf8mb4 basedir=D:\mysoft\mysql-8.0.15-winx64 datadir=D:\mysoft\mysql-8.0.15-winx64\Data
4、 开始安装
1、通过管理员权限打开Cmd或者PowerShell; 2、进去mysql安装包的bin目录下: cd D:\mysoft\mysql-8.0.15-winx64\bin\ 3、执行安装命令: .\mysqld.exe --initialize --console .\mysqld.exe --install 这个时候如果出现“The service already exists!”说明mysql的服务没有删除干净,需要删除后再安装; .\mysqld.exe remove mysql 4、启动mysql服务: net.exe start mysql
5、出现启动成功字样,表示mysql服务已经安装成功。图中画框的地方是Mysql的初始化密码。
6、通过navicat登陆Mysql,这个时候会报一个Authentication plugin 'caching_sha2_password' cannot be loaded的错误。这是因为MySQL8.0.15版本默认的认证方式是caching_sha2_password ,而在MySQL5.7版本则为mysql_native_password。我们有两种解决方式,任选一种都OK
我们有两种解决方式: 1、修改my.ini文件,然后重启。让MySQL8.0版本继续使用旧版本中的认证方式 [mysqld] default_authentication_plugin=mysql_native_password 2、兼容新老版本的认证方式 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
Window下重启Mysql
net stop mysql; #停止Mysql服务
net start mysql; #启动mysql服务
卸载Mysql
1、停止Mysql服务: net stop mysql
2、删除Mysql服务: sc delete mysql 或者 mysqld remove mysql
3、删除Mysql的安装目录
查询Mysql的版本
1、通过命令登陆MySQL。 mysql -u root -p
2、登陆mysql以后,通过sql查询。
my.ini模板
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\mysoft\mysql-8.0.15-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysoft\mysql-8.0.15-winx64\Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password #信任允许用户创建的、可能会导致不安全事件被写入二进制日志的functions和triggers。 log-bin-trust-function-creators=1 #MySQL不区分表名大小写 lower_case_table_names=1 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
Mysql参数简介
log_bin_trust_function_creators:当二进制日志启用后,这个变量就会启用。它控制是否可以信任存储函数创建者,不会创建写入二进制日志引起不安全事件的存储函数。如果设置为0(默认值),用户不得创建或修改存储函数,除非它们具有除CREATE ROUTINE或ALTER ROUTINE特权之外的SUPER权限。 设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。 此变量也适用于触发器的创建。