MySQL-install
本地安装
解压版
下载地址:
https://dev.mysql.com/downloads/mysql/
5.7.31-64
https://dev.mysql.com/downloads/file/?id=496310
参考资料:
https://blog.csdn.net/weixin_43889841/article/details/86758119
压缩包安装,进行配置
解压压缩包
解压压缩包到指定目录
D:\Java_Dev_Kits\DBMS
配置环境变量
此电脑/属性/高级系统设置/环境变量
D:\Java_Dev_Kits\DBMS\mysql-5.7.30-winx64\bin
创建配置文件
需要在安装的目录 D:\Java_Dev_Kits\DBMS\mysql-5.7.30-winx64
中
创建一个名为my.ini 的配置文件。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\Java_Dev_Kits\\DBMS\\mysql-5.7.30-winx64\\bin
# 设置mysql数据库的数据的存放目录
datadir=D:\\Java_Dev_Kits\\DBMS\\mysql-5.7.30-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
安装&初始化
以 管理员的身份 运行cmd,利用cd的命令导到你实际安装的位置,
比如我是导到D:\Java_Dev_Kits\DBMS\mysql-5.7.30-winx64\bin
(必须要用管理员的权限,不然会报权限不够的错,如下图所示)
1, 安装
mysqld --install
成功则出现,
Service successfully installed.
如果报错
由于找不到MSVCP120.dll, 无法继续执行代码, 重新安装程序可能会解决此问题
解决方法
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
下载 vcredist_x64.exe, 并安装即可
2, 初始化data目录
使用生成速记
mysqld --initialize --console
执行完这条命令, 会显示默认初始化的密码到控制台
使用没有 生成默认密码的方式, 初始化
mysqld --initialize-insecure
出现以下内容
2021-04-14T11:26:12.052382Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-04-14T11:26:14.552868Z 0 [ERROR] Can't find error-message file 'D:\Java_Dev_Kits\DBMS\mysql-5.7.30-winx64\bin\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2021-04-14T11:26:14.554537Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2021-04-14T11:26:14.554899Z 0 [ERROR] Aborting
启动MySQL
必须先初始化数据库, 然后才能启动 MySQL
net start mysql
出现一下内容
MySQL 服务正在启动 ...
MySQL 服务已经启动成功。
登录
mysql -uroot -p
如果使用了不含 生成随机密码的方式 初始化的, 则直接可以进入 MySQL
然后再修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
移除MySQL服务
mysqld --remove
注意事项
1.管理员身份运行cmd
2.my.ini配置文件里datadir目录中根文件夹data,不要自己创建,通过初始化命令自动生成
3.命令的完整性,不要少符号-
4.必要时,可以使用 mysqld -remove 移除服务,然后再安装
个人电脑上, 安装完成后, 自己关闭了 MySQL服务的自动启动, 需要使用的时候, 在cmd中启动即可
msi版
下载地址:
.msi文件安装,过程复杂,之前没有安装成功
命令
外部命令
不同的安装方式、不同的安装依赖于的平台,命令不一样,有的还需要手动配置 systemctl 命令,有的不能 直接 mysql 进入数据库,有的却可以
参考资料:mysql-systemctl
外部命令
mysql --version # 查看版本
mysql -V(大写)
systemctl status mysqld.service # 查看 mysql 运行状态
systemctl start mysqld.service # 启动数据库
# 关闭数据库
# 设置开机自动启动数据库
# 设置 mysql 安全策略
grep "password" /var/log/mysqld.log # 查看MySQL初始密码
mysql -uroot -p # 登录数据库
# 这些命令,没有进行配置sysytemctl,安装mysql之后,就可以使用
systemctl status mysqld # 查看 mysql 运行状态
systemctl start mysqld # 启动数据库
systemctl stop mysqld # 关闭数据库
内部命令
查询命令
CREATE DATABASE cms default charset=utf8; # 创建数据库cms
CREATE DATABASE cms DEFAULT CHARSET utf8;
show databases; # 显示所有数据库
use cms; # 切换到数据库cms
drop database cms; # 删除数据库cms
# 创建数据表
show tables; # 显示该数据库下的表
exit; # 退出mysql
quit; # 退出mysql
导入 SQL 语句
source SQL文件路径
https://www.bilibili.com/video/BV1fx411X7BD?p=9
报错
问题描述
运行:which mysql
报错:/usr/bin/which: no mysql in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
解决方案
加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql//bin
source /etc/profile
本地安装忘记密码
本地卸载
1、控制面板——>所有控制面板项——>程序和功能,卸载mysql server!
2、删除MySQL文件,尤其是ProgramData里面的隐藏文件MySQL,我当时没有删除,重新安装MySQL一直卡在Starting Server…
3、删除注册表信息,电脑左下角搜索运行“regedit”文件,打开注册表
4、打开注册表后,删除这三个文件下的MySQL,如果没有就不用管了。
https://www.bilibili.com/video/BV1fx411X7BD?p=4
服务器安装
方式1
参考材料:阿里云-MySQL数据库快速部署实践
登录到 MySQL 的 ECS 服务器
1.远程登录到 MySQL 的 ECS 服务器,请使用云产品资源提供的 ECS 服务器的 弹性IP , 用户 和 密码 。
说明:putty软件远程登录 Linux 系统 ECS 实例的详细步骤,请参考 帮助文档
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9oVuTanj-1624463994081)(MySQL.assets/TB13atMx4D1gK0jSZFyXXciOVXa-937-225.png)]
安装 mysql
2.执行如下命令,安装 mysql 及其组件 mysql-server ,mysql-devel。
yum -y install mysql mysql-server mysql-devel
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZobyWeF-1624463994086)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-312af473d3414e49b814819236f08e72-content-image-1474944645521-BQ9iu8)]
等待一分钟左右,页面显示 Complete! ,证明已完成 MySQL 的安装。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LdCDBrSZ-1624463994089)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-312af473d3414e49b814819236f08e72-content-image-1474944662158-7J15OU)]
启动 mysql 数据库
3.输入如下命令,启动 mysql 数据库。当页面显示 Starting mysql [OK] ,表示 MySQL 已启动。
service mysqld start
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MKLSmQ3R-1624463994092)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-312af473d3414e49b814819236f08e72-content-image-1475049455313-pCoPRO)]
报错
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
进入 MySQL 数据库
4.输入命令:mysql,进入 MySQL 数据库的命令页面,证明已经成功安装并运行 MySQL 数据库。
mysql
说明:默认 MySQL 数据库的密码为空,因此,可以通过 mysql 命令直接访问 MySQL 数据库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVPvnvZd-1624463994093)(MySQL.assets/TB1oP8Hx8v0gK0jSZKbXXbK2FXa-958-359.png)]
5.在 mysql 的命令行中,输入 exit ,页面提示 bye ,并退出 mysql 的命令页面。
exit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fKrh2CeO-1624463994094)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-312af473d3414e49b814819236f08e72-content-image-1475049581824-YSVna8)]
6.最后,执行如下命令,设置开机启动 mysql 。这样,用户在下次启动 ECS 服务器时,ECS 实例会自动运行 mysql 数据库,无需用户手动启动。
chkconfig mysqld on
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBCAYTvb-1624463994095)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-312af473d3414e49b814819236f08e72-content-image-1475049626902-LekHco)]
7.执行如下命令,修改 mysql 数据库的登录密码。界面显示 Enter password ,需要输入 mysql 的初始密码。由于默认数据库密码为空,无需输入直接回车,成功修改数据库密码为 123456 。
mysqladmin -uroot -p password "123456"
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSR6J96h-1624463994096)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050043384-pxgaUg)]
8.执行如下命令,界面显示 Enter password ,输入密码 123456 ,使用密码 123456 登录 Mysql。
注意:输入的密码不会在界面显示,确定输入正确后,直接回车就可以。
mysql -uroot -p
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GIZukMAM-1624463994097)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050225848-4sKP6h)]
9.执行如下命令,查看当前数据库列表。此时,可以看到三个数据库:information_schema ,mysql ,test 。
show databases;
注意:进入 mysql 之后,每条命令结尾都要有分号。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wFRw7v0l-1624463994098)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050309434-ziKrAP)]
10.执行命令 use mysql;,连接 mysql 数据库。然后执行命令 show tables; ,查看 mysql 数据库中的数据表。使用命令 exit ,退出 MySQL 界面。
use mysql;
show tables;
exit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5suhPBP9-1624463994099)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050413464-IjBs5d)]
11.返回 Linux 界面,执行如下命令,将名为 test 的数据库备份到当前目录的 test.sql。界面显示 Enter password,输入 MySQL 数据库的登录密码 123456 。根据备份的数据库大小,等待时间长短不同。完成后,使用命令 ll 查看备份文件,界面查看到备份文件 test.sql ,完成备份。
mysqldump -uroot -p test >test.sql
ll
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0pTdt1MQ-1624463994100)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050600272-6Q8aHw)]
12.返回 Linux 界面,执行如下命令,将 test.sql 导入数据库。界面显示 Enter password ,输入 MySQL 数据库的登录密码 123456 。
说明:其中参数 -D 是指定数据库为test。
mysql -uroot -p -Dtest<test.sql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tBt8ZRBt-1624463994101)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1475050843806-XyQflC)]
13.还有一种导入方法:输入命令:mysql -uroot -p123456 ,进入 MySQL 数据库。输入 use test; ,连接数据库 test ,输入 source /root/test.sql; ,将 test.sql 导入数据库 test ,全部出现 Query OK ,则表示数据库导入成功。
mysql -uroot -p123456
use test;
source /root/test.sql;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tzv9Es1d-1624463994102)(MySQL.assets/course-58f7358de77242ec84379253522cbaac-section-23436074ffee4bb8a07ad154274f295b-content-image-1476776584403-aQqmmn)]
卸载安装的mysql包
yum erase mysql
# 显示
Removed:
mariadb.x86_64 1:5.5.65-1.el7
yum erase mysql-server
# 显示
Loaded plugins: fastestmirror
No Match for argument: mysql-server
No Packages marked for removal
yum erase mysql-devel
# 显示
Removed:
mariadb-devel.x86_64 1:5.5.65-1.el7
方式2
参考资料:阿里云-快速搭建LAMP环境
\1. 执行以下命令,下载并安装MySQL官方的Yum Repository
。
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHhVVqoZ-1624463994103)(MySQL.assets/TB1AlVzIVP7gK0jSZFjXXc5aXXa-958-431.png)]
\2. 执行以下命令,启动 MySQL 数据库。
systemctl start mysqld.service
\3. 执行以下命令,查看MySQL初始密码。
grep "password" /var/log/mysqld.log
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkrIvec3-1624463994104)(MySQL.assets/TB1DgANa9RLWu4jSZKPXXb6BpXa-834-36.png)]
\4. 执行以下命令,登录数据库。
mysql -uroot -p
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BE3gJMsS-1624463994105)(MySQL.assets/TB1omdyI4D1gK0jSZFsXXbldVXa-675-226.png)]
\5. 执行以下命令,修改MySQL默认密码。
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
/*实际情况这样写*/
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
\6. 执行以下命令,授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
\7. 输入exit
退出数据库。
方式3
参考资料:阿里云-快速搭建LNMP环境
安装并配置MySQL
执行如下命令,下载并安装MySQL官方的Yum Repository
。
wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2RPLIALG-1624463994106)(MySQL.assets/TB1Ygj.HEY1gK0jSZFCXXcwqXXa-958-431.png)]
启动 MySQL 数据库
1.执行如下命令,启动 MySQL 数据库。
systemctl start mysqld.service
2.执行如下命令,查看MySQL运行状态。
systemctl status mysqld.service
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uu0dzlWV-1624463994107)(MySQL.assets/TB10cZeHBr0gK0jSZFnXXbRRXXa-945-229.png)]
查看MySQL初始密码
执行以下命令,查看MySQL初始密码。
grep "password" /var/log/mysqld.log
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cblElVp4-1624463994107)(MySQL.assets/TB1Ym27HET1gK0jSZFrXXcNCXXa-834-36.png)]
登录数据库
执行以下命令,登录数据库。
mysql -uroot -p
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I19N0lyy-1624463994108)(MySQL.assets/TB139n8HAL0gK0jSZFAXXcA9pXa-675-226.png)]
修改MySQL默认密码
执行以下命令,修改MySQL默认密码。
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
授予远程管理权限
执行以下命令,授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
7, 退出数据库
输入exit
退出数据库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律