前言 网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。
下载zip安装包: http://pan.aiheadn.cn/1814666951/download/mysql-5.7.20-winx64.zip
http://pan.aiheadn.cn/1814666951/download/mysql-8.0.11-winx64.zip
解压zip包到安装目录 我的解压在了D:\mysql-8.0.11-winx64
配置初始化的my.ini文件 8.0.11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\\mysql-8.0.11-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧 # 设置mysql数据库的数据的存放目录 datadir=D:\\mysql-8.0.11-winx64\\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
8.0.36
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 忽略大小写 lower_case_table_names=1 # 设置mysql客户端连接服务端时默认使用的端口3306 port = 3306 # 设置mysql的安装目录 basedir = D:\\mysql-8.0.36-winx64 # 设置mysql数据库的数据的存放目录 datadir = D:\\mysql-8.0.36-winx64\\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=100 # 服务端使用的字符集默认为8比特编码的latin1字符集【mysql8.0】 character_set_server = utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证【mysql8.0】 # default_authentication_plugin=mysql_native_password?? authentication_policy=* # 跳过安全检查,如果跳过,可能不能执行修改用户密码sql语句 #skip-grant-tables #开启查询缓存 #explicit_defaults_for_timestamp=true # 创建模式 NO_AUTO_CREATE_USER再MYSQL8.0中已经被移除,不能再8.0以上版本配置【mysql8.0】 # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
5.7.20
要先建立data文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:/mysql-5.7.20-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/mysql-5.7.20-winx64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
5.5.62
要先建立data文件
1 2 3 4 5 6 7 8 9 10 11 12 13 [client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 basedir=D:\mysql-5.5.62-winx64 #解压目录 datadir=D:\mysql-5.5.62-winx64\data #解压目录下data目录 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [WinMySQLAdmin] D:\mysql-5.5.62-winx64\bin\mysqld.exe
5.6.51
要先建立data文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\mysql-5.6.51-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-5.6.51-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
my.ini文件 记得放入对应的根文件目录下
D:\mysql-8.0.11-winx64\my.ini 保存的时候记得是ANSI保存
安装
初始化快捷复制
1 mysqld --initialize --console
1 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
跳过密码验证
1 mysqld --console --skip-grant-tables --shared-memory
5.5、5.6默认初始化不需要密码,直接按回车过,修改密码,修改后需要重新启动mysql
1 2 FLUSH PRIVILEGES; SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
初始化 输入mysqld -install [别名]
回车,会出现以下则安装成功
不然需要先卸载残余mysql
通过命令sc delete MySQL
/mysqld -remove[别名]
卸载 MySQL 服务
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
1 2 3 4 5 6 7 8 C:\Users\Administrator>cd C:\Program Files\MySQL\bin C:\Program Files\MySQL\bin>mysqld --initialize --console 2018-04-28T15:57:17.087519Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 4984 2018-04-28T15:57:24.859249Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 2018-04-28T15:57:27.106660Z 0 [System] [MY-013170] [Server] C:\Program Files\MySQL\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed C:\Program Files\MySQL\bin>
启动mysql net start mysql[别名]
net stop mysql
mysql -u root -p
多版本的情况下:mysql -P 3307 -u root -p
,回车后会提示输入密码,去输入之前的随机密码
在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
修改密码,注意命令尾的;一定要有,这是mysql的语法
可视化工具 1.Navicat Premium NAVH-WK6A-DMVK-DKW3
2.sqlog
名称:any
证书秘钥:dd987f34-f358-4894-bd0f-21f3f04be9c1
[SQLyog的下载、安装、破解、配置(MySQL可视化工具安装) - 砰砰的猿 - 博客园 (cnblogs.com)
3.mysql-workbench
主页 | a.d的私有云盘 (aiheadn.cn)
环境变量 1.在用户变量中
新建变量名 :MYSQL_HOME
变量值 :C:\Program Files\MySQL\MySQL S h e l l \color{pink}{Shell }Sh e**ll 8.0 2.在系统变量Path中
输入:%MYSQL_HOME%\bin
C:\Program Files\MySQL\MySQL S e r v e r \color{pink}{Server}Ser v**er 8.0\bin —> MySQL下的bin文件的绝对路劲
脚本备份 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 @echo off set MYSQL_HOME=D:\mysql-8 .0 .11 -winx64setx PATH "%PATH% ;%MYSQL_HOME% \bin" setx MYSQL_HOME "D:\mysql-8 .0 .11 -winx64" /M setx PATH "%PATH% ;%MYSQL_HOME% \bin" /M echo MySQL environment variable has been set .set SrcFile=D:\mysql-8 .0 .11 -winx64\bin\mysql.exeset Args=-uroot -pset LnkFile=%USERPROFILE% \Desktop\MySQL.lnkset IconFile=D:\mysql-8 .0 .11 -winx64\mysqlico.icocall :CreateShort "%SrcFile% " "%Args% " "%LnkFile% " "%IconFile% "goto :eof:CreateShort set SrcFile=%~1 set Args=%~2 set LnkFile=%~3 set IconFile=%~4 echo Set oWS = WScript.CreateObject("WScript.Shell")> CreateShort.vbsecho sLinkFile = "%LnkFile% ">> CreateShort.vbsecho Set oLink = oWS.CreateShortcut(sLinkFile)>> CreateShort.vbsecho oLink.TargetPath = "%SrcFile% ">> CreateShort.vbsecho oLink.Arguments = "%Args% ">> CreateShort.vbsecho oLink.IconLocation = "%IconFile% ">> CreateShort.vbsecho oLink.Save>> CreateShort.vbscscript //nologo CreateShort.vbs del CreateShort.vbs
杀掉3306端口 关闭windows中被占用的端口 1.查找到端口的PID
netstat -aon|findstr "3306"
2、杀死进程操作:
taskkill /pid xxx -t -f
xxx代表该端口的进程ID,也就是上图中pid一栏
例如:上面3306端口对应的是5392
命令:taskkill /pid 5392 -t -f
跳过密码登录 首先进入服务页面,停止Mysql服务。 用管理员的身份打开cmd窗口,先cd到本地数据库bin的路径,由于我是8.0.20版本, 输入mysqld --console --skip-grant-tables --shared-memory
, 再打开一个新的cmd窗口,同样进入数据库bin的路径, 输入mysql -u root -p ,对mysql进行无密登录。
MYSQL设置远程访问 使用改表法
可能是我们的的帐号不允许从远程登陆,只能在localhost(127.0.0.1)登录。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”,具体命令如下:
1 2 3 4 5 6 7 8 9 mysql -u root -pvmware use mysql; update user set host = '%' where user = 'root'; flush privileges; select host, user from user;
疑难杂症 1045错误 先尝试重新安装数据库 或者修改密码
疑难杂症 2059错误 ALTER USER ‘root‘@’localhost’ IDENTIFIED BY ‘你的密码’ PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER ‘root‘@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’; #修改密码规则
疑难杂症 10060 1130错误 root授权% 1.需要给root授权%
1 2 3 4 5 6 7 8 9 10 11 -- mysql -u root -p -- show databases; -- use mysql; -- select host,user from user -- grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option; -- FLUSH PRIVILEGES;
再进行重启任务
2、服务未启动; //CentOS服务器 # /etc/init.d/mysqld start
3、MySQL配置不容许远程访问,重启命令:/etc/init.d/mysqld restart
疑难杂症bin目录net stop mysql启动失败 解决方案是 设置系统环境变量 然后到管理员那个c盘 先看看能不能启动 ,可能是卸载残留导致的问题
疑难杂症 1072: 指定的服务已标记为删除。 快捷键 Ctrl + Alt + Delete,打开系统任务管理器,查找 mysqld.exe 进程,右键,然后结束任务。 再去刷新服务列表,此时MySQL服务已经没有了。
疑难杂症 服务没有响应控制功能 下载微软常用运行库合集,安装之后,重启电脑,就不会有这个提示了
官网下载 如图,选择自己电脑对应的版本进入官网进行下载。
1、下载地址:MySQL
(1)打开之后如下图:
(2)下滑一点,找到如图:
(3)点击进入
(4)点击进入
(5)选择好版本之后下载
Linux网络安装mysql 8.0 1. 第一步 下载
下载地址:https://dev.mysql.com/downloads/repo/yum/ ········或········· http://repo.mysql.com #使用wget下载mysqlwget http://repo.mysql.com/mysql80-community-release-el7.rpm
2. 第二步 安装 (1) 通过yum安装方法,会直接添加mysql环境变量和启动服务
yum -y install mysql80-community-release-el7.rpm
(2) 安装community-server
yum -y install mysql-community-server
3、第三步 启动服务并查看服务状态
1 2 3 systemctl start mysqld #一定要启动服务! systemctl status mysqld #查看服务状态 systemctl enable mysqld # 设置自启动
4、第四步 获取密码 登录 MySQL 必须要通过密码,此时 root 用户的密码可以通过以下命令在日志文件中获取:
grep "password" /var/log/mysqld.log
5、第五步 登录并求改密码
(1)登录
mysql -u root -p
(2) 修改密码(修改规则)
1 2 3 4 5 6 7 8 9 10 MySQL 8.0+ 版本为以下方式:(密码修改) ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tianyu.1'; MySQL 8.0+ 版本为以下方式:(规则修改) set global validate_password.policy=0; set global validate_password.length=4; MySQL 8.0+ 版本为以下方式:(密码修改) ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
6、第六步 授权
授权远程用户连接
1 2 3 4 5 6 7 8 # 改表法 # 选择数据库 use mysql; # 最后授权 MySQL,允许远程用户登录访问 MySQL update user set host = '%' where user = 'root'; # 刷新权限 flush privileges;
小知识:vim全选删除:esc+gg+dG
5.7
MySQL:5.7.34
本示例中,MySQL相关安装路径说明如下:
配置文件:/etc/my.cnf
数据存储:/var/lib/mysql
命令文件:/usr/bin和/usr/sbin
数据库端口:3306
第一步 安装 1、首先检查当前服务器上是否已经安装有mysql:
rpm -qa|grep -i mysql*
2、卸载centos7自带的数据库,因为centOS自带一个老版本的mariadb-libs与当前mysql包的冲突,故需要先卸载,再安装。
yum remove mariadb-libs
3、运行以下命令更新YUM源。
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
4、运行以下命令安装MySQL。
yum -y install mysql-community-server
公钥尚未安装使用
yum -y install mysql-community-server –nogpgcheck
5、输入已下命令查看是否安装成功
mysql -V
第二步 配置Mysql 1、运行以下命令启动MySQL服务。
systemctl start mysqld
2、运行以下命令设置MySQL服务开机自启动。
systemctl enable mysqld
systemctl status mysqld
查看服务状态
3、找到root用户的初始密码,需要使用如下命令
cat /var/log/mysqld.log|grep temp
4、使用密码和用户登录mysql
mysql -hlocalhost -uroot -p
5、登录之后,降低密码复杂度限制:
1 2 3 set global validate_password_policy=0; set global validate_password_length=4;
6、登录之后, 修改root用户的初始密码;
alter user 'root'@'localhost' identified by '123456';
7、登录之后,授权远程连接
1 2 3 4 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '123456'; flush privileges; systemctl disable firewalld.service,禁止防火墙服务器