MySQL
MySQL 是MySQL公司(目前属于Oracle)开发的一种关系型数据库管理系统。
因Oracle收购MySQL后就开始闭源并付费。Maria是MySQL源代码的一个分支,是MySQL之父Widenius先生离开Sun之后,开发不依赖Sun/Oracle的一种MySQL的分支(免费开源),其与大部分MySQL兼容。
下载地址: https://dev.mysql.com/downloads/mysql/
Windows上安装MySQL
下载安装包解压。
创建配置文件(安装目录下创建my.ini)
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
1.初始化mysql
进入MySQL安装目录下的bin文件夹,以管理员身份打开cmd执行以下命令
#初始化数据库
mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码(出错一般需安装VC ++运行库)
2.安装mysql服务
#安装
mysqld install
3.启动mysql
#启动
net start mysql
注意: 在 5.7 需要初始化 data 目录:
mysqld --initialize-insecure
4.登录mysql
mysql -h 主机名 -u 用户名 -p
参数说明:
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
5.退出
输入 exit 或 quit 退出登录
修改用户登录密码
#登录mysql 使用命令更改
set password for 用户名@localhost = password('新密码'); #5.7.5及之前版本使用,后续版本被弃用
或者 alter user root identified by 密码;
#登录mysql 更改用户表更改
use mysql;
update user set password=password('123') where user='root' and host='localhost'; #具体字段可能在高版本更改、如高版本为authentication_string,同时最新版本移除了password函数
flush privileges; #flush privileges刷新MySQL的系统权限相关表
#使用mysqladmin更改
mysqladmin -u用户名 -p旧密码 password 新密码
如mysqladmin -u root -p password,之后输入旧密码,新密码进行修改
忘记密码问题
方法1:
使用--init-file参数在服务启动加载修改密码的SQL命令文件
关闭mysql服务,执行以下命令,重启msyql服务即可。
mysqld --init-file=d:\\changePass.txt --console
changePass.txt
alert user root@localhost identified by ''
方法2:
mysqld --skip-grant-tables --skip-networking --shared-memory
--skip-grant-tables:此选项会让MySQL服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证直接登陆MySQL服务器,并且拥有所有的操作权限。
--skip-networking:此选项会关门MySQL服务器的远程连接。这是因为以--skip-grant-tables方式启动MySQL服务器会有很大的安全隐患,为了降低风险,需要禁止远程客户端的连接。
使用mysql命令进行更改,可以参考修改密码
端口问题(待添加)
有时需要开放外网登录mysql。
设置配置文件 将mysql允许外网登录
1.配置外网登录用户
2.配置文件绑定地址
参考资料
https://www.jb51.net/article/72416.htm 浅谈MySQL和mariadb区别
https://blog.csdn.net/p_xiaobai/article/details/89923057 安装mysql服务初始化时,出现“找不到msvcp140.dll”错误
https://www.runoob.com/mysql/mysql-administration.html
https://www.cnblogs.com/mrhonest/p/10881646.html MySQL修改密码
https://baijiahao.baidu.com/s?id=1603874060680405968&wfr=spider&for=pc 收藏备用,MySQL8下忘密码后重置密码的办法(MySQL5老方法不灵了)
https://majing.io/posts/10000005531181 MySQL 5.7推荐使用ALTER USER修改密码
https://majing.io/posts/10000005451184 MySQL 5.7 忘记root密码,使用--skip-grant-tables重置root密码的通用方法