【成功】Linux安装Mysql8并设置远程连接

2023-12-13 03:46:32

今天在新搞来的阿里云的服务器里安装MySQL8,记录一下过程:

这是MySQL的官网和下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

1. 先进入安装目录

cd /usr/local

?2. 安装

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

3.解压

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 

4.修改文件夹名称

mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql

5. 进入mysql目录之中

cd /usr/local/mysql/

6. 创建数据存放目录

mkdir data

7. 创建用户组和用户

创建mysql用户组和mysql用户,使用命令:

groupadd mysql
useradd -g mysql mysql

8. 修改MySQL的目录权限

chown -R mysql.mysql /usr/local/mysql/

9. 数据库初始化,获取MySQL的默认登陆密码

./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

10. 修改数据库的配置文件

我们在/etc目录下找到my.cnf文件并打开(我这里直接使用finalshell打开文件,也可以使用:vim /etc/my.cnf 打开)

修改内容:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8

11. 创建mysql服务

将mysql.server启动文件复制到/etc/init.d目录

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

权限赋予?

chmod +x /etc/rc.d/init.d/mysqld

使用chkconfig --add mysqld创建mysql服务

chkconfig --add mysqld

12. 配置全局环境配置

编辑/etc/profile文件,(可使用vim /etc/profile命令)在profile文件中添加如下两行配置:

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

?设置环境变量立即生效

source /etc/profile

13. 启动MySQL

指令:

service mysql start  //启动指令
service mysql status //查看MySQL运行的情况
service mysql stop  // 停止mysql
service mysql restart //重启

14.登录MySQL

mysql -uroot -p

密码就是之前初始化生成的密码:

登陆成功了:

15. 修改密码

这里修改成你要的密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

到了这里,我们已经成功安装并且远程连接MySQL了,接下来开始设置远程连接

16. 设置远程链接

1. 使用use mysql;命令,切换数据库

2. 使用update user set host='%' where user='root' limit 1,修改mysql库中host值

3)刷新mysql权限,使用flush privileges;

use mysql;
update user set host='%' where user='root' limit 1;
flush privileges;

这样就可以了,如果是服务器的话,我们需要防火墙打开3306,同时在云服务器商那里设置安全组。

查看防火墙是否开启:

systemctl status firewalld

查看所有开启的端口:

firewall-cmd --list-ports

常用命令介绍:

systemctl start firewalld.service  ##(开启防火墙)
systemctl stop firewalld.service  ##(关闭防火墙)

添加指定需要开放的端口: 
firewall-cmd --add-port=9090/tcp --permanent 
重载入添加的端口: 
firewall-cmd --reload 
查询指定端口是否开启成功: 
firewall-cmd --query-port=123/tcp
移除指定端口: 
firewall-cmd --permanent --remove-port=123/tcp



firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的

阿里云设置安全组,开放端口:

远程链接成功:

文章来源:https://blog.csdn.net/m0_54409739/article/details/134913554
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。