以下内容请严格按照文中所述方式书写,不要擅自添加空格。文中没有空格的地方,命令行就没有空格!
配置环境变量
为了能够直接使用 MySQL 中的命令,我们一般都需要将MySQL的 bin
目录加入环境变量 PATH
末尾。配置环境变量的详细方法请百度。
-
Windows 系统使用分号(
;
)隔离路径。假设C:/Program Files/mysql-5.7.25-winx64
为 MySQL 安装目录:C:\WINDOWS\system32;...;C:\Program Files\mysql-5.7.25-winx64\bin
-
类 Unix 系统使用冒号(
:
)隔离路径。假设/usr/local/mysql
为 MySQL 安装目录:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
注意:以下内容使用
%MYSQL_HOME%
代指用户安装目录
创建配置文件
在 %MYSQL_HOME%
目录下新建一个 my.ini
的配置文件,填写以下内容:
[client]
port=3306 # 端口号
default-character-set=utf8 # 客户端默认字符集
[mysqld]
character_set_server = utf8
# MySQL安装目录
basedir = C:/Program Files/mysql-5.7.25-winx64
datadir = C:/Program Files/mysql-5.7.25-winx64/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
注意:路径里的文件夹之间用
/
或\\
分隔,而不是\
。
初始化 MySQL
提示
首先使用命令行进入 MySQL 的 bin 目录(
cd %MYSQL_HOME%\bin
)。
-
如果执行以下命令:
mysqld --initialize
生成 data (指生成 MySQL 安装目录的 data 中的数据),并为 root 生成随机密码,该密码将被标记为过期密码。如果没有看到提示信息,就需要去 MySQL 的日志文件中查找。
-
如果执行以下命令:
mysqld --initialize-insecure
生成 data,不生成密码。
-
在 Windows 中可以使用
--console
显示信息到命令行。如,执行以下命令:mysqld --initialize --console
这将生成 data,并在命令行显示相关信息(包括随机密码等)。如下所示:
A temporary password is generated for root@localhost: JMlgyW!dc4_G
root@localhost
后即为自动生成的随机密码。
注册服务
在 Windows 中需要将代表 MySQL 服务器的 mysqld
注册到 Windows 服务中方可使用。Unix 和类 Unix 系统可跳过此步骤。
方法一
该方法任何位置可用
注册 Windows 服务的语法:
"注册服务的文件路径" --install[-manual] [服务名]
-
加上
-manual
表示手动启动(和--install
间无空格) -
服务名即注册到服务的名称
示例:
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --install-manual
注销服务:
sc delete 服务名
方法二
该方法需要先进入 MySQL 的 bin 目录
注册:
mysqld --install[-manual]
注销:
mysqld --remove
开启服务
Windows 开启/关闭服务
-
开启
net start mysql
-
关闭
net stop mysql
Unix 和类 Unix 系统启动/关闭 MySQL 服务器
-
开启
mysql.server start
-
关闭
mysql.server stop
登录账户
-
如果使用的是
--initialize
或--initialize -console
命令初始化,使用账号密码登录:mysql -u root -p
回车后显示如下:
Enter password: (此处为之前初始化生成的随机密码)
如果不知道密码,需要去错误日志中查找。
-
如果使用的是
--initialize-insecure
命令初始化,则使用跳过密码登录:mysql -u root --skip-password
修改密码
指定根用户(root
)密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
参考内容
内容参考了《MySQL是怎样运行的》第二章「重新认识MySQL」和 MySQL8 官方文档。 ↓↓↓扫码购买有优惠↓↓↓