从0到1阿里云部署mysql8数据库(外网可访问)(图文并茂超详细)

这篇具有很好参考价值的文章主要介绍了从0到1阿里云部署mysql8数据库(外网可访问)(图文并茂超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一,下载MYSQL安装和配置

 二,外网连接阿里云数据库


一,下载MYSQL安装和配置

1.切换到 /app/soft/

cd /app/soft/

2.创建mysql文件夹

mkdir mysql

3.切换到mysql文件夹下

cd mysql

4,下载mysql8.0安装包,等待下载成功

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

5,解压mysql8.0安装包

tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

 6,重命名解压出来的文件夹,这里改成mysql-8.0

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

 7,mysql-8.0文件夹下创建data文件夹 存储文件

mkdir data

阿里云mysql开放端口,阿里云,云计算,mysql,linux

8,分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)

groupadd mysql
 
useradd -g mysql mysql

 9,授权刚刚新建的用户

chown -R mysql.mysql /app/soft/mysql/mysql-8.0
 
chmod 750 /app/soft/mysql/mysql-8.0/data -R

10,配置环境,编辑/etc/profile文件 

vim /etc/profile
#--------------------------
#点击键盘上的i键,进入输入模式,在配置文件最后增加一行:
#--------------------------
export PATH=$PATH:/app/soft/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
#添加完成后,按Esc键退出输入模式,进入命令模式,输入:wq,保存并退出
#然后在输入cat /etc/profile  查看是否保存成功,效果如下:↓↓↓↓↓↓

 阿里云mysql开放端口,阿里云,云计算,mysql,linux

11,在配置完环境变量后,使配置文件生效

source /etc/profile

12,编辑my.cnf文件

[mysql]
default-character-set=utf8mb4
[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
#skip-grant-tables
socket=/var/lib/mysql/mysql.sock
basedir=/app/soft/mysql/mysql-8.0
datadir=/app/soft/mysql/mysql-8.0/data
log-bin=/app/soft/mysql/mysql-8.0/data/mysql-bin
innodb_data_home_dir=/app/soft/mysql/mysql-8.0/data
innodb_log_group_home_dir=/app/soft/mysql/mysql-8.0/data/
character-set-server = utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/app/soft/mysql/mysql-8.0/data/mysql.log
pid-file=/app/soft/mysql/mysql-8.0/data/mysql.pidclient]
#port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
server-id=3306
user=mysql
bind-address = 0.0.0.0
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/app/soft/mysql/mysql-8.0
datadir=/app/soft/mysql/mysql-8.0/data
log-bin=/app/soft/mysql/mysql-8.0/data/mysql-bin
innodb_data_home_dir=/app/soft/mysql/mysql-8.0/data
innodb_log_group_home_dir=/app/soft/mysql/mysql-8.0/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0

13,切换到/app/soft/mysql/mysql-8.0/bin目录下 

cd bin

14,初始化基础信息,得到数据库的初始密码(在/app/soft/mysql/mysql-8.0/bin目录下执行)

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

15,复制 mysql.server 文件,在/app/soft/mysql/mysql-8.0目录下执行

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

16,赋予权限

chown 777 /etc/my.cnf
 
chmod +x /etc/init.d/mysql
 
chmod +x /etc/init.d/mysqld

 17,检查一下/var/lib/mysql是否存在,否则进行创建

mkdir /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql/

18,启动数据库,有SUCCESS字眼说明MySQL安装完成

service mysql start 
#出现SUCCESS 说明启动成功,效果图如下:

阿里云mysql开放端口,阿里云,云计算,mysql,linux

19,修改数据库密码,mysql中远程连接授权

use mysql;
create user root@'%' identified by '设置的密码';
grant all privileges on *.* to root@'%' with grant option;
###刷新权限
flush privileges;

 二,外网连接阿里云数据库

1,在阿里云服务器中开放3306端口

阿里云mysql开放端口,阿里云,云计算,mysql,linux

阿里云mysql开放端口,阿里云,云计算,mysql,linux

阿里云mysql开放端口,阿里云,云计算,mysql,linux

 2,修改配置,bind-address改为0.0.0.0

vi /etc/my.cnf

阿里云mysql开放端口,阿里云,云计算,mysql,linux

 3,登录mysql修改系统表user

use mysql ;

select user,host from user;

阿里云mysql开放端口,阿里云,云计算,mysql,linux

use mysql;
Grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;

 4,重启mysql服务:service mysql restart

5,连接navicat;(大功告成);

阿里云mysql开放端口,阿里云,云计算,mysql,linux

写文章真的不容易,各位老爷点个收藏和赞再走吧。

可能遇到的问题:

阿里云mysql开放端口,阿里云,云计算,mysql,linux

阿里云mysql开放端口,阿里云,云计算,mysql,linux

因为我的版本是8的,所以执行授权语句会报错

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'WITH GRANT OPTION 

root权限不够,登录mysql后通过 SELECT * FROM mysql.user;命令查询权限信息,可以看到root对应的很多权限都是no,如下图所示:

阿里云mysql开放端口,阿里云,云计算,mysql,linux


解决方案:

将root权限全部修改为yes,执行如下代码(记得退出mysql,重启服务):

use mysql; 
update user set Update_priv ='Y' where user = 'root';
update user set Select_priv ='Y' where user = 'root';
update user set Insert_priv ='Y' where user = 'root';
update user set Update_priv ='Y' where user = 'root';
update user set Delete_priv ='Y' where user = 'root';
update user set Create_priv ='Y' where user = 'root';
update user set Drop_priv ='Y' where user = 'root';
update user set Reload_priv ='Y' where user = 'root';
update user set Shutdown_priv ='Y' where user = 'root';
update user set Process_priv ='Y' where user = 'root';
update user set File_priv ='Y' where user = 'root';
update user set Grant_priv ='Y' where user = 'root';
update user set References_priv ='Y' where user = 'root';
update user set Index_priv ='Y' where user = 'root';
update user set Alter_priv ='Y' where user = 'root';
update user set Show_db_priv ='Y' where user = 'root';
update user set Super_priv ='Y' where user = 'root';
update user set Create_tmp_table_priv ='Y' where user = 'root';
update user set Lock_tables_priv ='Y' where user = 'root';
update user set Execute_priv ='Y' where user = 'root';
update user set Repl_slave_priv ='Y' where user = 'root';
update user set Repl_client_priv ='Y' where user = 'root';
update user set Create_view_priv ='Y' where user = 'root';
update user set Show_view_priv ='Y' where user = 'root';
update user set Create_routine_priv ='Y' where user = 'root';
update user set Alter_routine_priv ='Y' where user = 'root';
update user set Create_user_priv ='Y' where user = 'root';
update user set Event_priv ='Y' where user = 'root';
update user set Trigger_priv ='Y' where user = 'root';
// 退出mysql
exit
// 重启mysql服务
service mysqld restart

阿里云mysql开放端口,阿里云,云计算,mysql,linux文章来源地址https://www.toymoban.com/news/detail-787842.html

到了这里,关于从0到1阿里云部署mysql8数据库(外网可访问)(图文并茂超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySql数据库允许外网访问连接

    正常情况下,mysql数据库是不支持外网进行访问的,只能在本机进行登录操作。 下面提供两种方式对mysql进行配置,即可进行外网访问 第一步:使用客户端在本机连接MySQL服务,登录。 然后找到mysql这个数据库,里面有user这种表,打开表 第二步:找到User是root,Host是localhos

    2023年04月10日
    浏览(84)
  • MySQL8.0 导入Scott数据库

    MySQL8.0 导入Scott数据库 使用root 用户,在root用户下创建数据库和表。 为表插入值的时候,顺序不能错,否则数据无法插入。

    2024年02月07日
    浏览(62)
  • 无公网IP,外网远程连接MySQL数据库

    哈喽~大家好,这篇来看看无公网IP,外网远程连接MySQL数据库。 作为网站运行必备组件之一的数据库,免不了随时对其进行管理维护。若我们没有在安装数据库的电脑旁,但又需要立即对数据库进行管理时,应该如何处理?这时我们可以使用cpolar对内网进行穿透,远程管理和

    2023年04月19日
    浏览(69)
  • MySQL8.0+数据库GTID主从模式搭建

    参见: MySQL数据库8.0+版本部署安装-CSDN博客 部署环境[例]: 主库:192.168.179.153:3306 从库:192.168.179.154:3306 主从库开启GTID模式 // 主从库均修改,修改从库配置文件,在[mysqld]下添加如下配置 $ vim /etc/my.cnf gtid_mode = on enforce_gtid_consistency = on 需检查server-id配置,为主从架构中的所有

    2024年02月04日
    浏览(66)
  • java连接mysql8.0数据库—jdbc连接

    mysql官网 点击platform Independent ,然后出现jar包选项 点download 点左下角no thanks,直接下载 原始方法,直接在项目下建一个lib包 然后将刚刚下好的zip解压,复制jar包到该目录下,右键jar包,选择add as Library 出现一堆包,表示成功导入jar包 注意:Driver类创建时,要导入com.mysql.cj.

    2024年02月13日
    浏览(65)
  • MySQL8.0数据库超详细安装教程全过程

    1、官网下载MySQL8.0地址:MySQL :: Download MySQL Installer (Archived Versions) 2、 双击安装包进行安装 3、自定义安装 4、选择MySQL Server8.0   5、创建MYSQL数据存储目录及安装目录 6、配置安装路径及数据存储目录 7、确认继续 8、选择MySQL,下一步 9、开始安装 10、第一次安装需要C++的依赖

    2024年02月08日
    浏览(74)
  • centos9 mysql8修改数据库的存储路径

    系统:CentOS Stream release 9 mysql版本:mysql Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL) 查看目录数据存储的位置 操作 1、新建存放的目录,拷贝原数据库内容到新建目录 关闭selinux 永久关闭 vi /etc/selinux/config 设置 SELINUX=disabled,即可 2、修改mysql配置文件 my.cnf内容如下 3、重新

    2024年02月11日
    浏览(47)
  • mysql8.0无法创建数据库 解决root无法授权问题

    mysql的赋权操作:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION; mysql赋权操作: use mysql; GRANT ALL PRIVILEGES ON *.* TO \\\'root\\\'@\\\'%\\\' IDENTIFIED BY \\\'你的密码\\\' WITH GRANT OPTION; flush privileges; GRANT:赋权命令 ALL PRIVILEGES:当前用户的所有权限 ON:介词 *.*:当前用户

    2024年02月12日
    浏览(42)
  • java通过JDBC连接mysql8.0数据库,并对数据库中的表进行增删改查操作

    目录 一、JDBC简介 二、添加依赖 三、JDBC操作数据库的步骤 四、JDBC操作数据库——增删改查 (一)新增数据 (二)删除数据 (三)修改数据 (四)查询数据 (五)多表连接查询         Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数

    2024年02月03日
    浏览(149)
  • 如何通过nginx代理实现外网访问内网mysql或oracle数据库

            项目开发部署中经常会遇到MySQL或Oracle数据库安装在内网,而我们的应用服务只能部署在外网,如果实现外网服务访问连接内网的数据库呢?本次介绍如何通过Nginx配置实现外网访问内网数据库。 1、前置机服务器         首先要保证有一台前置机服务器既可以访

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包