关于mysql8:Linux环境下MySQL80安装

41次阅读

共计 3069 个字符,预计需要花费 8 分钟才能阅读完成。

一、筹备工作

  1. 下载安装包 下载地址
  2. 查看零碎⾃带的 MARIADB

    rpm -qa|grep mariadb
  3. 卸载零碎⾃带的 MARIADB(如果有),remove 前面加 rpm -qa|grep mariadb 查问进去的门路

    yum -y remove

二、解压

  1. mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 安装包上传到 /usr/local/ 目录下
  2. 安装包解压, 并重命名为 mysql

    xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
    tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar 
    mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
  3. 创立 MYSQL ⽤户和⽤户组

    groupadd mysql
    useradd -g mysql mysql
  4. 批改 MYSQL ⽬录的归属⽤户

    chown -R mysql:mysql ./
  5. 筹备 MYSQL 的配置⽂件, 编辑 vim /etc/my.conf

    [mysql]
    # 设置 mysql 客户端默认字符集
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock
    [mysqld]
    skip-name-resolve
    #设置 3306 端⼝
    port = 3306
    socket=/var/lib/mysql/mysql.sock
    # 设置 mysql 的装置⽬录
    basedir=/usr/local/mysql
    # 设置 mysql 数据库的数据的寄存⽬录
    datadir=/usr/local/mysql/data
    # 容许最⼤连接数
    max_connections=200
    # 服务端使⽤的字符集默认为 8 ⽐特编码的 latin1 字符集
    character-set-server=utf8
    # 创立新表时将使⽤的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M

    并且批改权限

    mkdir /var/lib/mysql 
    chmod 777 /var/lib/mysql

三、装置 MySQL

  1. 进入cd /usr/local/mysql 目录 进行初始化

    ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  2. 执行初始化后, 控制台会返回长期明码, 记录长期明码 , 前面会用到
    例如:像我的例子在最初一行 A temporary password is generated for root@localhost:kvct:yIy8_qk
    我的长期明码就是这个: kvct:yIy8_qk

    例子:
    2021-09-14T01:30:19.227943Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 1808
    2021-09-14T01:30:19.250431Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2021-09-14T01:30:20.184005Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    2021-09-14T01:30:21.140583Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
    2021-09-14T01:30:21.141148Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
    2021-09-14T01:30:21.341903Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kvct:yIy8_qk
  3. 复制启动脚本到资源目录

    cp ./support-files/mysql.server /etc/init.d/mysqld
  4. 编辑vim /etc/init.d/mysqld , 批改 basedirdatadir , 为其理论对应的目录

    basedir=/usr/local/mysql 
    datadir=/usr/local/mysql/data

四、设置 MYSQL 服务开启⾃启

  1. 减少 mysqld 服务管制脚本执⾏权限

    chmod +x /etc/init.d/mysqld
  2. 将 mysqld 服务加⼊到零碎服务

    chkconfig --add mysqld
  3. 查看 mysqld 服务是否曾经⽣效即可
    mysqld 0: 关 1: 关 2: 开 3: 开 4: 开 5: 开 6: 关

    chkconfig --list mysqld
  4. 启动 mysql, 返回 SUCCESS!

    service mysqld start

五、配置环境变量

  1. 编辑 vim ~/.bash_profile, 在文件开端增加上面信息

    export PATH=$PATH:/usr/local/mysql/bin
  2. 执行上面命令, 使环境变量失效

    source ~/.bash_profile

六、登录 MySQL,并批改明码

  1. 以 root 账户登录 mysql

    mysql -u root -p
  2. 输出方才记录的 长期明码
  3. 批改 Root 账户明码, 并刷新权限

    alter user user() identified by "root";
    flush privileges;
  4. 设置近程主机登录

    use mysql;
    update user set user.Host='%' where user.User='root';
    flush privileges;

七、查看防火墙

  1. 做完下面步骤, 肯能还是近程连贯不上, 凋谢端口或者敞开防火墙
  2. 查看防火墙状态

    systemctl status firewalld
  3. 查看开机是否启动防火墙服务

    systemctl is-enabled firewalld
  4. 敞开防火墙

    systemctl stop firewalld
  5. 禁用防火墙(系统启动时不启动防火墙服务)

    systemctl disable firewalld
    systemctl is-enabled firewalld
  6. 凋谢端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload   # 配置立刻失效 
  7. 敞开端口

    firewall-cmd --zone=public --remove-port=3306/tcp --permanent
    firewall-cmd --reload   # 配置立刻失效
  8. 查看防火墙所有凋谢的端口

    firewall-cmd --zone=public --list-ports
  9. 查看监听的端口
    centos7 默认没有 netstat 命令,须要装置 net-tools 工具,yum install -y net-tools

    netstat -lnpt
  10. 查看端口被哪个过程占用

    netstat -lnpt |grep 3306
  11. 查看过程的详细信息

    ps 6832
  12. 查看蕴含 mysql 的所有过程

    ps -ef | grep mysql
  13. 停止过程

    kill -9 6832

正文完
 0