本地安装Mysql数据库
参考连接:
https://blog.csdn.net/weixin_72046282/article/details/143754166
下载解压后,将bin目录,配置到path环境变量。
根目录下新建my.ini文件
my.ini文件配置
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
1、使用管理员权限运行CMD
进入mysql的bin目录
2、输入如下命令初始化mysql
mysqld --initialize
输入命令后,没有报错即为成功
3、运行上面的命令后,在my.ini中定义的data目录会出现,且在data文件夹中***.err文件里面,会有root账号的初始密码
4、启动/登录Mysql
管理员cmd,bin目录下启动mysql
启动mysql
net start mysql
停止mysql
net stop mysql
启动时报错,找不到文件。原因是本地安装有其他的mysql引起的冲突
需要停止并删除旧的mysql
net stop MySQL //停止 MySQL 服务
sc delete MySQL //删除旧的 MySQL 服务
mysqld --install MySQL80 //重新安装符合版本的mysql服务,当前为 MySQL 8.0.40 服务
mysql -u root -p //登录,会提示输入密码,为***.err文件中的密码
5、重置root用户密码
在安装 MySQL 或者在某些安全策略,会导致MySQL 系统会要求你在进行其他操作前先重置密码。
1、执行以下命令(将 newpassword 替换为你想要的新密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
2、刷新权限,确保更改生效
FLUSH PRIVILEGES;
3、退出 MySQL
EXIT;
4、使用新密码重新连接 MySQL
mysql -u root -p //系统会要求你输入新密码
至此mysql安装完成
6、 创建数据库和用户
某些场景需要重新进入服务才能执行编辑创建等操作
mysql -u root -p
使用默认的 root 用户连接
1、查看当前数据库列表
SHOW DATABASES;
2、创建新数据库
CREATE DATABASE mydatabase;
3、使用数据库
USE mydatabase;
4、创建数据表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
5、向表中插入数据
INSERT INTO users (username, password) VALUES ('testuser', 'password123');
6、查询数据
SELECT * FROM users;
7、更新数据
UPDATE users SET password = 'newpassword' WHERE username = 'testuser';
8、删除数据
DELETE FROM users WHERE username = 'testuser';
9、退出 MySQL
EXIT;
10、获取帮助
HELP;
7、查看当前连接到 MySQL 数据库的 IP 地址和账号名称
1、在 MySQL 提示符下,输入以下命令
SHOW PROCESSLIST;
2、执行后,你将看到一个表格,包含以下列
Id: 连接的 ID。
User: 连接的用户账号名称。
Host: 连接的来源,通常包括 IP 地址和端口号,格式为 IP地址:端口。
db: 当前使用的数据库名称。
Command: 当前正在执行的命令(如 Sleep、Query 等)。
Time: 当前执行命令的时间。
State: 当前连接状态。
Info: 当前执行的具体查询。
在这个示例中,User 列显示对应的用户名,Host 列显示连接的 IP 地址和端口号
3、获取当前用户的 IP 地址
SELECT USER(), CURRENT_USER();
USER() 显示当前连接的用户和主机信息。
CURRENT_USER() 显示用于权限检查的用户(通常是相同的值)。