在Linux中安装MySQL
一、下载MySQL
登录官网,进入下载页
选择需要的版本
选择对应的安装包
二、Linux环境准备
安装Xshell和Xftp
Xshell:用于远程登录虚拟机并进行操作
Xftp:用于Windows和Linux系统之间互相传输文件
设置Xftp的远程连接
解决Xftp的乱码问题
将下载好的MySQL软件包拷贝到克隆好的虚拟机中
三、安装前准备
检查MySQL安装包是否存在
ll /opt/mysql
给/tmp临时目录赋最高权限
由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。
# 给/tmp目录赋最高权限
chmod -R 777 /tmp
# 查看/tmp目录的权限
ll /
安装前检查依赖
四、安装MySQL8.0
进入安装包所在的目录,按照顺序安装
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
安装libs时,会报错
解决方法
yum remove mysql-libs
再次安装libs,成功后继续安装后续的安装包
安装完成后,检查MySQL的版本号
mysql --version
检查是否全部完成安装
rpm -qa | grep -i mysql
五、启动MySQL
服务初始化
mysqld --initialize --user=mysql
查看初始密码
cat /var/log/mysqld.log
查看MySQL的状态
systemctl status mysqld.service
开启MySQL
# 开启MySQL
systemctl start mysqld.service
# 关闭MySQL
systemctl stop mysqld.service
# 重启MySQL
systemctl restart mysqld.service
开启后要在检查一次MySQL的状态,确保开启成功
查看MySQL是否为自启动
systemctl list-unit-files|grep mysqld.service
设置MySQL的自启动
# 设置MySQL自启动
systemctl enable mysqld.service
# 设置MySQL不会自启动
systemctl disable mysqld.service
六、登录MySQL
使用初始密码登录
mysql -hlocalhost -P3306 -uroot -p
修改密码
alter user 'root'@'localhost' identified by '此处写自己设置的密码';
退出MySQL,用新密码重新登录
注意,修改了root登录范围后,再登录MySQL,需要使用下面方式
# 方式一:在/etc/hosts映射文件中,映射了主机名和ip
mysql -hhadoop103 -uroot -p
方式二:直接使用ip登录
mysql -h192.168.227.103 -uroot -p
七、远程登录MySQL
在windows系统中开启telnet命令
关闭windows系统的防火墙
关闭Linux系统的防火墙
# 关闭防火墙
systemctl stop firewalld
# 查看防火墙的状态
systemctl status firewalld
# 设置防火墙自启动
systemctl enable firewalld
# 设置防火墙不会自启动
systemctl disable firewalld
修改root用户的登录范围,即允许在哪些IP上登录
刷新权限
flush privileges;
注意,修改了root登录范围后,再登录MySQL,需要使用下面方式
# 方式一:在/etc/hosts映射文件中,映射了主机名和ip
mysql -hhadoop103 -uroot -p
方式二:直接使用ip登录
mysql -h192.168.227.103 -uroot -p
MySQL8.0需要重置一个密码的加密
alter user 'root'@'192.168.227.%' identified with mysql_native_password by '自建密码';
修改Linux下的ssh配置文件
八、使用navicat连接远程服务器中的MySQL数据库
- 使用SSH登录,一直报错如下:协议不匹配
解决办法
连接成功之后,恢复sshd_config文件,依然可以连接