• mysql-8.0.31-glibc2.12-x86_64.tar.xz 离线安装mysql8.0


    安装

    1. 首先,下载MySQL 8.0.31的适用于Linux的安装程序,例如mysql-8.0.31-glibc2.12-x86_64.tar.xz。
    2. 解压缩安装程序:tar -xvf mysql-8.0.31-glibc2.12-x86_64.tar.xz
    3. 将MySQL移动到安装目录:sudo mv mysql-8.0.31-glibc2.12-x86_64 /usr/local/mysql
    4. 创建MySQL用户和用户组:sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysql
    5. 授予MySQL用户对MySQL目录的访问权限:sudo chown -R mysql:mysql /usr/local/mysql
    6. 同样创建目录/var/run/mysqld和/var/run/mysqld,并对其授权
    7. 先把/etc/my.cnf文件备份(然后改成别的名),因为新机器可能有这个文件,否则可能按这个启动配置
    8. 为MySQL设置密码:sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    9. 启动MySQL:sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & (此时会生成一个默认密码,记住这个密码 /usr/local/mysql/bin/mysql -uroot -p用这个密码就能登录了)
    10. 修改密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘{新密码}’; 但我们可能不这么做,而是用这种方式ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’ ; 因为我们的连接工具不支持8.0新版本的caching_sha2_password,还是用mysql_native_password为好。
    11. 停服务:启动是用mysqld_safe,停止用/usr/local/mysql/bin/mysqladmin -uroot -p shutdown (然后输入密码) 因为后面创建服务启动时,会冲突,要提前停掉

    配置服务

    1. 创建MySQL配置文件:sudo vi /etc/my.cnf
    2. 输入以下内容:
    [client]
    port=3306
    default-character-set = utf8mb4
    [mysql]
    default-character-set = utf8mb4
    [mysqld]
    port=3306
    pid-file=/var/run/mysqld/mysqld.pid
    socket=/var/run/mysqld/mysqld.sock
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    log-error=/var/run/mysqld/error.log
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    max_connections=512
    max_connect_errors=500
    default-storage-engine=INNODB
    default_authentication_plugin=mysql_native_password
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    1. 创建MySQL服务文件:sudo vi /usr/lib/systemd/system/mysqld.service
    2. 输入以下内容:
    [Unit]
    Description=MySQL Server
    After=network.target
    
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
    ExecStop=/usr/local/mysql/bin/mysqladmin --user=root --password=your_password shutdown
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    1. 重新加载系统服务:sudo systemctl daemon-reload
    2. 启动MySQL服务:sudo systemctl start mysqld
    3. 验证MySQL服务是否正在运行:sudo systemctl status mysqld

    修改配置

    1. 启动可能报错“Can't connect to local MySQL through socket '/tmp/mysql.sock'”,这时可以创建个软链接,这要看my.cnf中sock的配置,我这边改成sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock,然后重启服务sudo systemctl restart mysqld

    允许远程登录

    要允许MySQL远程登录,需要进行以下步骤:

    1. 登录到MySQL服务器并打开MySQL shell:mysql -u root -p

    2. 输入密码以登录。

    3. 创建一个新的MySQL用户并授予其远程登录权限。例如,要创建名为“remoteuser”的用户并授予其远程登录权限,请运行以下命令:

      CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
      GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';
      FLUSH PRIVILEGES;
      
      
      • 1
      • 2
      • 3
      • 4

      这将创建一个名为“remoteuser”的用户,并授予它在所有数据库和所有表上的所有权限。请注意,“%”符号表示允许从任何IP地址连接到MySQL服务器。

  • 相关阅读:
    图05 --- 最短路径问题:算法与实现
    可重入函数
    buu web部分wp
    [基础库Numpy] 技能树总结:一篇文章学会Numpy库
    unity urp 实现遮挡显示角色轮廓
    ArcGIS Maps SDK for JS(一):概述与使用
    DDD实践:实现基于快照机制的变更追踪
    常态化防疫下,一种校园进出防疫管理系统模板来了
    基于GRNN网络和小波变换的ECG信号睡眠监测matlab仿真
    spring boot中的标注@Component、@Service等
  • 原文地址:https://blog.csdn.net/dulinanaaa/article/details/130889466