在Linux中安装MySQL
一、下载MySQL
二、Linux环境准备
-
安装vm和CentOS7.9部署
-
克隆两个虚拟机,分别安装MySQL8.0 和 MySQL5.7,具体参照
-
安装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配置文件