美文网首页
2023-11-20 MySQL ARM64 银河麒麟

2023-11-20 MySQL ARM64 银河麒麟

作者: 颈椎以上瘫痪 | 来源:发表于2023-11-19 13:12 被阅读0次

    背景

    MySQL是常用数据库,Windows安装比较容易,笔者也有记录。现在国产化系统银河麒麟中安装,不同的是软件安装包不容易下载。一是安装的方式,再一个是MySQL本身的版本,网上很多文档说明其实都是对的,但是为什么那么多都不一样呢?就是MySQL本身的版本差异比较大,这些差异笔者也不是很清楚,但是不要用8和5.7的差异非常大,8即使安装的很顺利,在使用过程也会很多坑,导致我宁愿卸载8,也要重新安装5.7。这里就不过多说题外话。

    下载

    MySQL官网只有8以上才有ARM版,也就是5.7的ARM版安装包在官网是下载不到的,华为源里面有提供,笔者下载的是5.7.27。

    https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/
    
    2023-11-20_102831.jpg

    安装

    先卸载主机中已有的老版本MySQL

    systemctl status mysqld
    查看是否已有MySQL服务,如果有就先停掉,否则卸载了MySQL但是之前服务启动的pid文件还在,后面就会有错误。
    
    rpm -qa|grep mysql
    查看MySQL安装文件,把列表所有的安装包都删除掉
    rpm -e --nodeps xxx
    确保查询后没有MySQL安装包
    
    whereis mysql
    find / -name mysql
    查看MySQL相关文件和文件夹
    
    rm -rf xxx
    删除上述查找到所有MySQL相关文件
    
    rpm -ivh mysql-5.7.27-1.el7.aarch64.rpm
    安装MySQL安装包
    
    2023-11-20_103521.jpg

    配置文件

    有的版本rpm安装完成后在/etc下面会生成my.cnf配置文件,但是此版本安装后没有生成,那么我们就自己创建一个,在/etc创建my.cnf文件。

    安装后会MySQL安装目录为/usr/local/mysql,根据安装目录我们在配置文件中相关路径会配置在这个位置

    新创建的文件需要给权限才能编辑和使用,我们一般要编辑文件就给777权限,但是这里的配置文件不能直接给777,否则在运行时会有错误,此配置文件不能给这么高的操作权限,我们可以给644

    chmod 644 /etc/my.cnf
    

    编辑配置文件

    [mysql]
    default-character-set=utf8
    
    [client]
    socket = /usr/local/mysql/data/mysql.sock
    
    [mysqld]
    character-set-server=utf8
    default-storage-engine=INNODB
    
    max_connections=200
    
    # MySQL安装路径
    basedir = /usr/local/mysql
    # MySQL文件存储路径
    datadir = /usr/local/mysql/data
    # 日志文件路径
    log-error = /usr/local/mysql/data/mysqld.log
    # MySQL pid文件路径
    pid-file = /usr/local/mysql/data/mysql.pid
    # MySQL socket文件路径
    socket = /usr/local/mysql/data/mysql.sock
    
    #忽略大小写
    lower_case_table_names=1
    

    启动

    进入/usr/local/mysql/bin/,执行./mysqld --initialize --console,初始化MySQL的基础数据,会创建配置文件中datadir对应的路径文件夹,并在文件夹中生成相关数据。

    cd /usr/local/mysql/bin/
    ./mysqld --initialize --console
    

    这里生成了 /usr/local/mysql/data文件夹,但是这个文件夹还没有权限,在启动MySQL时会生成pid等文件,如果没有权限就不能创建会有错误,这里需要给这个文件夹权限

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

    执行命令启动MySQL

    service mysql start
    
    2023-11-20_111306.jpg
    # 启动MySQL
    service mysql start
    # 查看MySQL状态
    service mysql status
    # 停止MySQL
    service mysql start
    

    重启主机,查看MySQL状态是启动的,说明MySQL服务器自己配置了开机启动。

    密码修改

    上述安装完成后只是安装好了MySQL,但是想要登录使用时会不知道密码,在安装时有个默认密码,我需要修改成自己的密码。默认查看初始密码的路径是/var/log/mysqld.log文件,但是上述配置文件是我们自己创建的,里面的日志文件是自己配置的没有采用默认值,所以这里查看初始密码的文件在/usr/local/mysql/data/mysql.log文件。

    grep 'temporary password' /usr/local/mysql/data/mysqld.log
    
    2023-11-20_115409.jpg

    把初始密码复制出来,使用MySQL命令登录MySQL,登录进去操作时发现提示:You must reset your password using ALTER USER statement before executing this statement,这个提示说我们要修改MySQL的密码才能使用。

    2023-11-20_115503.jpg
    alter USER 'root'@'localhost' IDENTIFIED BY 'root';
    

    执行上述命令修改root的密码为root。

    2023-11-20_115650.jpg

    重启MySQL服务

    再使用root密码登录,可以正常使用,密码修改成功。

    2023-11-20_115758.jpg

    查看编码格式

    上述步骤中初始化MySQL数据时会根据配置文件设置编码格式,我们一般都用utf8,按照上述配置文件生成的就是utf8,如果不是建议重新安装,因为我也不会修改,而且即使修改了,已经存在的数据可能会变成乱码数据。

    执行以下命令查看编码格式,对应结果如图就是对的。

    show variables like '%character%';
    show variables like 'collation%';
    
    2023-11-22_144746.jpg

    设置允许远程连接

    MySQL安装后默认是只允许本地连接,远程想通过ip连接会有错误,我们在这里可以修改为允许远程连接。

    执行SQL,查看内容

    //切换到MySQL数据库
    use mysql;
    //在user表内查询host和user2列
    select host,user from user;
    
    2023-11-22_145426.jpg

    可以看到user=root的host=localhost,说明root用户只能在本地登录,我们修改host为%通配符,表示所有地方都可以连接。

    执行SQL

    update user set host='%' where user='root';
    
    2023-11-22_145820.jpg

    重启MySQL,外部设备可以连接MySQL。

    2023-11-22_145936.jpg

    相关文章

      网友评论

          本文标题:2023-11-20 MySQL ARM64 银河麒麟

          本文链接:https://www.haomeiwen.com/subject/fhtmwdtx.html