注意,适用于mysql5.7或mariadb10,不适用于mysql8
- 解压绿色版(或安装版安装时选择不创建实例)
- 创建一个空的data目录,例如D:/mysqldata
- 在data目录下新建my.ini(mysql8可以从解压目录下复制一份),参考内容:
mysql8还需要加一句[mysqld] port = 3306 basedir=D:/tool/mysql/mysql-5.7.26-winx64 datadir=D:/mysqldata max_connections=50 character-set-server=utf8mb4 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
default-character-set=utf8mb4
- 命令行进入安装/解压目录下的bin目录(以管理员身份运行cmd)
- 关联data目录:
如果创建新的data目录:
mariadb10:执行mysql_install_db -d[data目录路径] -R -S[ServiceName服务名]
(可以用-?查看帮助)
mysql:先将my.ini放入mysql解压根目录,执行mysqld --initialize-insecure --user=mysql
,然后移动新生成的data目录内容和my.ini到之前创建的data目录下,再执行mysqld -install [ServiceName] --defaults-file=[my.ini路径]
如果使用已存在的data目录(版本必须兼容):mysqld -install [ServiceName] --defaults-file=[my.ini路径]
- 在本地服务中找到刚才注册的服务,修改登录标签中的用户为本地系统帐户或其他有权限读写data目录的用户
- 设置数据库默认字符编码(推荐
utf8mb4
,若需要兼容旧系统脚本可以用utf8
):
修改data目录下的my.ini[mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_general_ci
- 启动服务net start [ServiceName]
- 修改root用户密码,命令行执行:
mysql -u root use mysql; set password for `root`@`%` = password('yourpassword'); flush privileges; exit;
如果需要修改默认字符编码:
- 关闭服务
net stop [ServiceName]
- 修改data目录下的my.ini
[mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_general_ci
- 启动服务
net start [ServiceName]