mysql-8.0.15-winx64 解压版安装 图文详解
1、官网下载
https://dev.mysql.com/downloads/mysql/
2、解压到合适的目录
3、配置环境变量
①、 path
%MYSOL_HOME%\bin
②、MYSQL_HOME
4、创建配置文件
新建一个my.ini 用记事本打开,复制以下代码, 没有my.ini 数据库启动时无法初始化参数
MySQL5.7版本配置文件
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=D:\ProgramFiles\mysql-5.7.44-winx64
; 设置mysql数据库的数据的存放目录
datadir=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 5.7\Data
# 日志文件配置
log-error=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 5.7\Data\error.log
# 开启二进制日志文件
log-bin=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-bin
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
; 显示默认时间戳
explicit_defaults_for_timestamp=ON
; 设置服务器ID
server-id=1
MySQL8.0+版本配置文件
[mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] ; 设置端口号为3306 port=3306 ; 设置MySQL的安装目录 basedir=D:\ProgramFiles\mysql-8.0 ; 设置MySQL数据库的数据存放目录 datadir=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 8.0\Data ; 日志文件配置 log-error=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 8.0\Data\error.log ; 开启二进制日志文件 log-bin=D:\ProgramFiles\ProgramData\MySQL\MySQL Server 8.0\Data\mysql-bin ; 允许最大连接数 max_connections=200 ; 服务端使用的字符集 character-set-server=utf8mb4 ; 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB ; 显示默认时间戳 explicit_defaults_for_timestamp=ON ; 设置服务器ID server-id=1
5、注册服务
进入MySQL的bin目录在命令行窗口输入:mysqld --install,回车,提示:Service successfully installed,说明注册服务成功。
删除服务方法:停止服务:
net stop mysql
删除服务:
sc delete MySQL
6、初始化
以管理员的身份打开cmd命令窗口,(获取初始密码,二选一)
第一种:输入mysqld --initialize命令初始化mysql的data数据目录,初始化完毕后,会在解压目录下生成一个data文件夹, 在这个文件夹下有一个.err结尾的文件,打开后会有随机生成的密码。
第二种:使用mysqld --initialize --console命令,生成随机密码
7、启动服务
启动命令:net start mysql
8、修改密码
8.1.登录mysql
使用随机密码登录并修改密码 : mysql -u root -p
8.2.修改登陆密码 ‘新密码’ 替换你需要的新密码
ALTER USER USER() IDENTIFIED BY '新密码';
更新密码:
update mysql.user set authentication_string=password('新密码') where user='root' and Host = 'localhost';
8.3.查看user表
use mysql;
8.4.查看用户表信息
select User,authentication_string,Host from user;
如果host列显示loalhost而不是%则说明只能本地访问,需要开启远程访问
第一种方式:改表法
修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。为了方便,我直接修改成%。
update user set host = '192.168.1.5' where user = 'root';
update user set host = '%' where user = 'root';
第二种方式:授权法
例如,你想root使用root从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.64的主机连接到mysql服务器,并使用root作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.64' IDENTIFIED BY 'root' WITH GRANT OPTION;