数据库版本:8.0.16
安装环境:win7 旗舰版
安装包下载地址https://dev.mysql.com/downloads/mysql ,进入界面后选择好适当的版本,在【Other Downloads】的地方点击下载。
这里要求登录,你可以点击No thanks, just start my download.跳过登录直接下载。
到适当目录(我的是C:\mysql-8.0.16)
在桌面的“我的电脑”或者“计算机”鼠标右键–属性–高级系统设置–高级–环境变量,选择变量名称为“Path”的编辑,将解压文件夹下的bin路径添加到变量值中,前后以 ; 开头结尾。
我们发现解压后的目录并没有my.ini文件,我们自行创建。在安装根目录下添加 my.ini(新建文本文件,将文件类型改为.ini),写入基本配置:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
# 设置mysql数据库的数据的存放目录
datadir=C:\\Program Files\\MySQL\\MySQL Server 8.0\\Data # 此处同上
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
修改上面代码里的路径,路径代表mysql安装路径,需要注意的是这些路径需要你手动创建,除了Data文件夹,这个文件夹在下一步初始化工作时候会自动创建!
首先运行CMD,注意要以管理员身份运行,否则安装过程中可能出现错误!
在MySQL安装目录的 bin 目录下执行命令:(输入 cd bin文件夹路径 回车)
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
注意!执行输出结果里面有一段:
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 其中root@localhost:后面的“rI5rvf5x5G,E”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。(阅读这篇https://blog.csdn.net/Anrui23/article/details/93795829)
在MySQL安装目录的 bin 目录下执行命令:
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。通过命令net stop mysql停止服务。通过命令sc delete MySQL/mysqld -remove卸载 MySQL 服务
首先启动mysql服务,在MySQL安装目录的 bin 目录下执行命令:
mysql -u root -p
这时候会提示输入密码,记住了上面第3.1步安装时的密码,填入即可登录成功,进入MySQL命令模式。
如果出现“Welcom to the mysql…”提示,表示成功,
此时在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
修改密码,注意命令尾的;一定要有,这是mysql的语法。
到此,安装部署就完成了。
show databases;
use mysql;
show tables;
管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成“%”
CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#';
#(需要注意:mysql8.0加密方式修改了)
#检查用户
select user, host, plugin, authentication_string from user\G;
#授权所有权限
GRANT ALL PRIVILEGES ON *.* TO 'xxh'@'%';
#授权基本的查询修改权限,按需求设置
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'xxh'@'%';
show grants for 'xxh'@'%';