Windows部署Mysql且设置对外访问
一、pandas是什么?
1. 下载
https://downloads.mysql.com/archives/community/
2. 创建配置
解压到D盘
在D:\mysql-5.7.40-winx64文件夹下面新建一个my.ini文件和一个data文件夹
编辑my.ini内容:
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\mysql-5.7.40-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\mysql-5.7.40-winx64\\data
# 允许最大连接数
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
max_connections=2048
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3. 配置windows系统环境变量
MYSQL_HOME D:\mysql-5.7.40-winx64\bin
4. 初始化
cd D:\mysql-5.7.40-winx64\bin
执行初始化命令mysqld --initialize --user=mysql --console
会生成一个临时密码(要复制下来)
5. 开机自启服务
- 接着就是输入mysqld -install进行服务的添加
- net start mysql 启动mysql
6. 登录mysql修改root密码
mysql -uroot -p
粘贴上面复制的临时密码
然后修改密码
set password = password('新密码');
二、对外访问设置
你的理解基本上是正确的。不过,我可以详细说明一下这两条 GRANT
语句的具体作用以及它们的区别:
1. 第一条 GRANT 语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
功能解释:
ALL PRIVILEGES
:授予所有权限,包括SELECT
、INSERT
、UPDATE
、DELETE
、CREATE
、DROP
等等。ON *.*
:权限作用于所有数据库和所有表。TO 'root'@'192.168.1.2'
:将这些权限授予用户名为root
的用户,该用户只能从 IP 地址192.168.1.2
登录。IDENTIFIED BY 'mypassword'
:为用户root
设置密码为mypassword
。如果该用户已经存在,此部分不会更改密码,除非密码需要被重置。WITH GRANT OPTION
:允许root
用户将其拥有的权限授予其他用户。
总结:这条语句允许 root
用户从 IP 地址 192.168.1.2
登录 MySQL 并对所有数据库和表进行所有操作。同时,root
用户可以将这些权限授予其他用户。
2. 第二条 GRANT 语句
GRANT ALL PRIVILEGES ON mydb.* TO 'other'@'192.168.1.2' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
功能解释:
ALL PRIVILEGES
:授予所有权限,包括SELECT
、INSERT
、UPDATE
、DELETE
等等。ON mydb.*
:权限作用于数据库mydb
中的所有表。TO 'other'@'192.168.1.2'
:将这些权限授予用户名为other
的用户,该用户只能从 IP 地址192.168.1.2
登录。IDENTIFIED BY 'mypassword'
:为用户other
设置密码为mypassword
。如果该用户已经存在,此部分不会更改密码,除非密码需要被重置。WITH GRANT OPTION
:允许other
用户将其拥有的权限授予其他用户。
总结:这条语句允许 other
用户从 IP 地址 192.168.1.2
登录 MySQL 并对 mydb
数据库中的所有表进行所有操作。同时,other
用户可以将这些权限授予其他用户。
区别和总结
-
权限范围:
- 第一条语句授予
root
用户对所有数据库和表的所有权限。 - 第二条语句授予
other
用户对特定数据库 (mydb
) 中所有表的所有权限。
- 第一条语句授予
-
用户权限:
root
用户可以对所有数据库进行操作,并且可以将权限授予其他用户。other
用户只能操作mydb
数据库中的对象,也可以将权限授予其他用户,但只能在mydb
数据库中进行操作。
-
访问控制:
- 两条语句中的用户都被限制为只能从 IP 地址
192.168.1.2
进行登录。
- 两条语句中的用户都被限制为只能从 IP 地址
确保这些 GRANT
语句符合你的实际需求,并且在生产环境中使用时要注意安全性和权限管理。