Windows 下安装 MySQL5.7。我的安装环境:系统是 Windows 10 专业版,数据库安装包是 5.7.25 版本的,已经安装了mysql5.6了的。
安装包下载地址: https://downloads.mysql.com/archives/community/
mysql5.7的安装包
解压到这个目录下,如图:
在这个目录下新建配置文件 my.ini
my.ini文件内容如下:
[mysqld]
basedir = C:\RJAZ\WAMP\mysql\mysql5.7\bin
datadir = C:\RJAZ\WAMP\mysql\mysql5.7\data
port = 3308
server_id = 2
# 指定临时文件目录
tmpdir = "C:\temps\mysql5.7"
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 20M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 跳过数据库权限验证,使登录时跳过权限检查
# skip-grant-tables
# mysql服务器支持的最大并发连接数
max_connections = 800
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors = 10
bulk_insert_buffer_size = 50M
# log-bin=mysql-bin
# binlog_format=mixed
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
character-set-server=utf8mb4
[client]
port = 3308
default-character-set=utf8mb4
安装 mysql5.7
使用命令行安装,以管理员方式运行
指令: mysqld -install mysql5.7
mysql数据库初始化
指令: mysqld --initialize --user=root --console
出现了错误
解决方法:
在my.ini 添加上内容:
lc-messages-dir = C:\RJAZ\WAMP\mysql\mysql5.7\share\english
修改 my.ini 内容:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER
tmpdir = C:/temps/mysql5.7
再重试一下,终于出现了默认密码:
生成的本地root 用户的随机密码: EQ:LTkk!W3yE
启动mysql5.7的服务
指令: net start mysql5.7
发现出错,发生系统错误 1067.
查看原因,发现 mysql5.7 这个服务的可执行文件路径是错误的
可执行文件的路径应该是: C:\RJAZ\WAMP\mysql\mysql5.7\bin\mysqld mysql5.7 。所以要修改注册表:
打开注册表编辑器(运行,输入regedit)
注册表编辑器路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql5.7
找到 imagePath 属性
然后修改为正确的路径
然后继续启动数据库 net start mysql5.7
启动成功了。
登录时出错
登录指令: mysql -u root -P3308 -p
修改 my.ini 文件
把配置 default-character-set=utf8mb4 或者 character-set-server=utf8mb4 给注释了
然后继续尝试登录
查看数据库列表报错 : ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改本地root用户的登录密码:
再登录查看数据库列表
Ok,安装mysql5.7完成,对了这个数据库连接端口是 3308 。
最后总结下 my.ini 的配置文件内容:
[mysqld]
basedir = C:\RJAZ\WAMP\mysql\mysql5.7\bin
datadir = C:\RJAZ\WAMP\mysql\mysql5.7\data
port = 3308
server_id = 2
# 指定临时文件目录
tmpdir = C:/temps/mysql5.7
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 20M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# 服务端使用的字符集默认为utf8mb4
#character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 跳过数据库权限验证,使登录时跳过权限检查
# skip-grant-tables
# mysql服务器支持的最大并发连接数
max_connections = 800
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors = 10
bulk_insert_buffer_size = 50M
# log-bin=mysql-bin
# binlog_format=mixed
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER
lc-messages-dir = C:/RJAZ/WAMP/mysql/mysql5.7/share/english
[mysql]
# 设置mysql客户端默认字符集
#character-set-server=utf8mb4
[client]
port = 3308
#character-set-server=utf8mb4

「my.ini 内容更新」
[mysqld]
basedir = C:\RJAZ\WAMP\mysql\mysql5.7\bin
datadir = C:\RJAZ\WAMP\mysql\mysql5.7\data
port = 3308
server_id = 2
# 指定临时文件目录
tmpdir = C:/temps/mysql5.7
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 20M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 跳过数据库权限验证,使登录时跳过权限检查
# skip-grant-tables
# mysql服务器支持的最大并发连接数
max_connections = 800
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors = 10
bulk_insert_buffer_size = 50M
# log-bin=mysql-bin
# binlog_format=mixed
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER
lc-messages-dir = C:/RJAZ/WAMP/mysql/mysql5.7/share/english
[mysql]
# 设置mysql客户端默认字符集
default-character-set = utf8mb4
[client]
port = 3308
★★★提示:安装时要把以下红框里面的程序拓展安装好
特别是:Microsoft Visual C++2013 Redistributable (x64) -12.0.40660 的。