• 华为云上安装mysql-5.7.38-极其详细的安装教程


    背景 

    自己的服务需要安装mysql数据库,之前都是安装在windows上,本次极其详细的介绍安装在华为云服务器上

     

     

    1、资源下载

    mysql-5.7.38资源下载

     

     

    2、 环境检查

    1. ## ps -fe | grep mysql
    2. ## 如果是有的话,如果仍然需要安装就强行卸载
    3. ## 查看mysql 的版本(如果已经安装的话)
    4. ## mysql -version
    5. rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

    3、mysql安装 

    1)拷贝文件

    将下载的文件通过连接工具上传到服务器上

    2) 创建目录并解压

    1. ## 创建目录
    2. mkdir /usr/local/mysql
    3. ## 解压文件并重命名
    4. tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
    5. mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql-5.7.38

    3)添加mysql用户及对应的组 

    1. ## 添加用户组
    2. groupadd mysql
    3. # useradd -r参数表示mysql用户是系统用户,不可用于登录系统
    4. useradd -r -g mysql mysql
    5. ## 创建data目录
    6. mkdir /usr/local/mysql/data
    7. # 将/usr/local/mysql/的所有者及所属组改为mysql
    8. chown -R mysql.mysql /usr/local/mysql/

    4)创建配置文件

    可以直接将/etc路径下创建my.cnf文件

    1. [mysqld]
    2. ## 基础位置
    3. basedir = /usr/local/mysql/mysql-5.7.38
    4. ## 数据存放位置
    5. datadir = /usr/local/mysql/data
    6. ## 端口
    7. port = 3306
    8. socket = /tmp/mysql.sock
    9. ## 字符集
    10. character-set-server=utf8
    11. log-error = /usr/local/mysql/data/mysqld.log
    12. pid-file = /usr/local/mysql/data/mysqld.pid
    13. sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    14. #ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

     5)进行初始化

    默认会加载/etc路径下的my.cnf文件,在对应的日志文件中能找到初始化的密码(高版本的mysql会在控制台直接输出)

    1. ## 初始化命令为mysqld
    2. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.38 --datadir=/usr/local/mysql/data/
    1. ## 在日志文件中找到密码方便以后登录和改密
    2. cat /usr/local/mysql/data/mysqld.log

     

     6)执行启动命令

    1. ## 执行启动命令
    2. ./support-files/mysql.server start

    报错如下:

     Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

     这是因为配置中的basedir指定的值不是mysql的根路径,根路径应该是mysqld对应bin文件的上级目录,本例中为/usr/local/mysql/mysql-5.7.38

     继续执行之后,执行成功

     

    7)登录并修改密码

    到mysql的bin目录中执行msql -u root -p命令

    1. ## 当需要输入密码的时候,就是日志中的密码
    2. ./mysql -u root -p

     报错如下

    ./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

    说明是缺少依赖

    1. ## 安装依赖之后重试可以登录
    2. yum install -y ncurses-compat-libs

     

     

    1. ## 重置密码
    2. mysql> set password=password('root');
    3. ## 分配远程访问权限
    4. mysql> grant all privileges on *.* to root@'%' identified by 'root';
    5. ## 刷新权限
    6. mysql> flush privileges;
    7. # 退出登录
    8. mysql> exit;

    8)设置机器启动时候自动启动mysql

    将/support-files/mysql.server 复制到/etc/init.d路径下,并通过chkconfig --add xxx添加自动重启

    1. ## 复制到自启动路径下
    2. ## cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    3. ## 显示服务列表
    4. chkconfig --list
    5. ## 添加服务
    6. chkconfig --add mysqld
    7. ## 重新查看显示服务列表
    8. chkconfig --list

     PS:当mysqld对应的3.4.5项都是on的话,表示可以重新启动

    1. ## 如果是关闭的话,使用下面命令将其开启
    2. chkconfig --level 345 mysqld on

    reboot机器,检验是否可以开机重启 

     后面就是在华为云上开通对应的端口,然后其他客户端就能访问了

     

  • 相关阅读:
    神奇代码备份恢复工具逸事与操作指南
    E中国集装箱涂料行业竞争态势及投资盈利预测报告2022-2028年
    Element UI 表格常用改造(表头添加注释、翻页连续序号【内含前端分页】)
    acwing 最大数
    AERMOD模型在大气环境影响评价中的实践
    java心理健康测评与咨询系统springboot+ssm
    贪心算法-金条切割问题
    docker compose 部署ELK 8.X及监控
    生信初学者必知的镜像设置
    DBeaver连接Oracle数据库,缺少数据驱动
  • 原文地址:https://blog.csdn.net/hu10131013/article/details/126611003