MySQL数据库详细安装(Windows、Liunx)
MySQL介绍
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
Windows 安装MySQL
下载MySQL
官网安装
下载MySQL,地址:https://dev.mysql.com/downloads/installer/
mysql官网上提供了两种安装方式,第一种是在线版联网安装,第二种是本地安装。二者的区别是前者是联网安装,当安装时必须能访问互联网,后者是离线安装使用的,一般建议下载离线安装使用的版本。
在这里插入图片描述
以上两种安装方法均为图形界面向导方式安装,优点是可以比较清晰地看到整个mysql安装过程,并且可以选择性的安装所需的功能。缺点是安装过程中会出现一些环境依赖问题,导致安装失败。
本地压缩包安装
压缩包下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads在这里插入图片描述
解压下载好的压缩包文件:
在这里插入图片描述
MySQL本地配置
打开已下载的MySQL文件,内容如下:
在这里插入图片描述
配置电脑的系统环境变量,找到Path变量;
在这里插入图片描述
添加MySQL安装的bin文件目录的路径,如下图所示:
在这里插入图片描述
环境配置完成后,打开文件夹,创建一个新的文件后缀名为 .ini 的
my.ini
空白文件。在这里插入图片描述
编辑创建好的my.ini文件,用于初始化MySQL数据库,tips:路径必须为
\
的形式。ini 代码:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir = D:\\tools\\mysql-8.0.30-winx64 # 设置mysql数据库的数据的存放目录 datadir = D:\\tools\\mysql-8.0.30-winx64\\data # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 创建模式 sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
注意MySQL的安装目录路径是否填写正确
在这里插入图片描述
快捷键
Windows + R
输入cmd,进入本地Windows 命令行窗口,然后通过命令行 进入MySQL下的bin文件夹。在这里插入图片描述
或者直接在该文件下路径上输入 cmd ,然后回车确认即可。
在这里插入图片描述在这里插入图片描述
输入
mysqld --initialize
进行初始化MySQL。在这里插入图片描述
输入上述命令,按回车,会发现文件夹下会多出一个新的文件夹data。
在这里插入图片描述
等待初始化完成会生成一个后缀名为.err的文件,里面存放的是初始化登录MySQL的密码;
在这里插入图片描述
打开.err文件:找到下图中所示的root账户和root密码;
在这里插入图片描述
注意:如果先前在电脑中装过MySQL,请在cmd命令窗口输入
sc delete mysql
删除之前的MySQL服务。第一次安装请忽略 , 如下图所示:在这里插入图片描述
打开cmd窗口,输入
mysqld --install
命令;我这边已经装过了,所以显示为已存在; 第一次安装成功会提示:
Service successfully installed
;在这里插入图片描述
注意:如果出现 Install/Remove of the Service Denied!
错误的话。
解决办法一:
使用管理员身份运行cmd,如下图:
在这里插入图片描述
接上,通过命令方式开启MySQL服务;
开启服务:
net start mysql
关闭服务:
net stop mysql
提示:
Redhat Linux 支持service command,
启动:# service mysqld start
停止:# service mysqld stop
重启:# service mysqld restartWindows下不能直接重启(restart),只能先停止,再启动。
在这里插入图片描述
解决办法二:
两种打开服务的方式:
text 代码:
1. 手动启动MySQL服务,本机电脑打开管理面板;
在这里插入图片描述text 代码:
2. Windows 键 + R 键 打开本地命令行窗口,输入`services.msc`快速打开电脑 “服务”,检查MySQL服务,如下图所示:
在这里插入图片描述
找到MySQL服务,如未开启,可手动开启服务;
在这里插入图片描述
设置MySQL服务启动类型为:“ 自动 ”,启动服务。
在这里插入图片描述
使用root账户和刚刚文件里查看的密码进行登录;
命令:
mysql -uroot -p7lb7hWyuj!se
在这里插入图片描述
出现以下界面说明MySQL登录成功;
注意:这里我的密码已经修改过了;
在这里插入图片描述
修改MySQL root账户密码:使用命令:
alter user 'root'@'localhost' identified with mysql_native_password by ' **这里填写新密码** ';
注意:这里是在MySQL中进行操作的;
在这里插入图片描述
连接第三方工具
为了更便捷地使用数据库,可以选择连接MySQL数据库客户端navicat工具:
在这里插入图片描述
测试连接:
在这里插入图片描述
Linux 安装MySQL
1、卸载MySQL
查看是否已经安装 MySQL
sql 代码:
rpm -qa|grep -i mysql
这里我的服务已经装过了,如下图所示:
在这里插入图片描述
停止MySQL服务
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
删除MySQL
sql 代码:
rpm -e 文件名
在这里插入图片描述
可能会遇到的问题:
error: Failed dependencies
通过 YUM 查询和卸载:
text 代码:
查询:yum list installed mysql* 卸载:yum remove mysql*
删除mysql的目录文件和库
text 代码:
shell> find / -name mysql #查找所有mysql相关的文件 /usr/share/mysql /etc/selinux/targeted/active/modules/100/mysql /var/lib/mysql /var/lib/mysql/mysql shell> rm -rf /usr/share/mysql #删除命令 shell> rm -rf /etc/my.cnf #卸载后/etc/my.cnf不会删除,需要进行手工删除
再次查看是否存有mysql
text 代码:
rpm -qa|grep -i mysql
无结果,说明已经卸载彻底、接下来直接安装mysql即可
2、安装MySQL
本次安装MySQL完整版本为:5.7.10,如需安装其他版本,可以去官网:https://repo.mysql.com/ 选择其他的RPM替换下面命令中的链接地址即可。
text 代码:
wget -i -c http://dev.mysql.com//mysql57-community-release-el7-10.noarch.rpm
在这里插入图片描述
如果安装有提示:Cannot write to ‘mysql57-community-release-el7-10.noarch.rpm’ (No such file or directory)
,那就是权限不够
可以输入 su root 来解决,然后重新下载。
安装MySQL包
text 代码:
yum -y install mysql57-community-release-el7-10.noarch.rpm
在这里插入图片描述
安装 MySQL
text 代码:
yum -y install mysql-community-server
在这里插入图片描述
如果执行命令过程中提示:Unable to find a match: mysql-community-server
则可以通过命令解决
text 代码:
yum module disable mysql
启动MySQL服务
text 代码:
systemctl start mysqld.service
如果没有报错,进入下一步,
如果执行报错,多半是没有权限,执行下面语句赋予权限,然后重试
text 代码:
chown mysql:mysql -R /var/lib/mysql
查看MySQL运行状态
text 代码:
service mysqld status
看见这个绿色就表示启动成功了
在这里插入图片描述
查看初始密码(红色部分为初始密码)
text 代码:
grep 'password' /var/log/mysqld.log
在这里插入图片描述
如果能正常查看到,则OK;如果查看不到,则表示没有密码。
进入数据库
text 代码:
mysql -u root -p
输入命令后,点击回车,会让你输入密码,然后输入刚刚的初始密码(输密码的时候不可见),当然支持粘贴,你可以复制初始密码后,然后粘贴。如果没有密码,直接回车即可。
在这里插入图片描述
注: 如果显示数据库无法访问
修改MySql配置文件my.cnf,新增 skip-grant-tables
text 代码:
find / -name my.cnf
在这里插入图片描述
修改文件之前记得先关闭mysql服务
text 代码:
service mysqld stop
通过 vi 指令进入文件
text 代码:
vi /etc/my.cnf
新增 skip-grant-tables
,添加skip-grant-tables,这样mysql可以免密登录。
在这里插入图片描述text 代码:
重启服务
text 代码:
service mysqld start
再次连接MySql,重置密码
text 代码:
mysql -u root -p
任意密码就可以进入了
在这里插入图片描述
通过 show databases;
text 代码:
show databases;
在这里插入图片描述
切换到MySQL数据库
在这里插入图片描述
重置密码(为123456)
text 代码:
update user set authentication_string=password('root') where user='123456';
修改配置文件my.cnf,删除 skip-grant-tables,重启,再登录
删除skip-grant-tables
在这里插入图片描述
重启服务
text 代码:
service mysqld start
根据指令进入MySQL数据库
text 代码:
mysql -uroot -p123456
在这里插入图片描述
再次使用新密码登录即可至此!Linux 下 Mysql 安装到使用讲解完成!
3、Navicat 无法连接
服务器的防火墙mysql端口3306是否开放
text 代码:
查看防火墙是否已开放3306端口 firewall-cmd --query-port=3306/tcp 设置3306端口为永久开放 firewall-cmd --add-port=3306/tcp --permanent 查看firewalld状态,发现当前是dead状态,即防火墙未开启 systemctl status firewalld 关闭防火墙 systemctl stop firewalld 重启防火墙(设置了新的端口记得先关闭,再重启) systemctl status firewalld
如果是阿里云服务器,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上
在这里插入图片描述
如果链接提示如下,则是没有允许远程登录
1130-host ... is not allowed to connect to this MySql server
解决办法:
登录服务器mysql数据库
sql 代码:
--1. 进入mysql数据库: use mysql; --2. 查看mysql数据库中所有的表: show tables; --3. 查看user表中的数据: select Host, User,authentication_string from user; --4. 修改user表中的Host: update user set Host='%' where User='root'; --5. 最后刷新一下: flush privileges;
重新在Navicat中测试一下 ,连接成功。
- 感谢你赐予我前进的力量