centos7 x64+mysql8生产环境部署

文章目录

centos7 x64+mysql8生产环境部署

本文实战讲解生产环境centos7 x64下mysql8的二进制包安装部署,并兼容低版本程序运行。

1.mysql下载

centos7 x64+mysql8生产环境部署

2.mysql上传及准备工作

  • 连接centos服务器: 本文采用SecureCRT连接centos服务器,SecureCRT是一款收费商业软件,收费的软件相对还是比较好用一点。如若不想交费,请自行百度,你懂的~~该软件自你第一次双击后,就自然会使用了,用户体验还是很棒的!如若虚拟机内安装,请直接登陆系统使用ip addr命令查询服务器地址。
    centos7 x64+mysql8生产环境部署
    centos7 x64+mysql8生产环境部署
    centos7 x64+mysql8生产环境部署

  • centos7 x64系统初始安装均为最小化安装,安装mysql前先初始一些设置:

    a. 关闭防火墙

    //查看firewall状态
    [root@localhost ~]#systemctl list-unit-files|grep firewalld.service
    
    //停止firewall
    [root@localhost ~]#systemctl stop firewalld.service
    
    //禁止firewall开机启动
    [root@localhost ~]#systemctl disable firewalld.service
    

    b. 关闭SELINUX

    //将SELINUX=enforcing改为SELINUX=disabled
    [root@localhost ~]#vi /etc/selinux/config
    
    //设置为permissive模式,临时生效
    [root@localhost ~]#setenforce 0  
    

    c. 卸载系统自带的Mariadb数据库

    //查看是否存在mariadb
    [root@localhost ~]#rpm -qa | grep mariadb  
    
    //存在则删除
    [root@localhost ~]#rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
    

    d. 依赖安装

    [root@localhost ~]#yum install libaio -y
    

    e. 安装上传下载软件:

    [root@localhost ~]#yum install lrzsz -y
    
  • 上传mysql8二进制安装包文件:

    [root@localhost ~]#rz  //回车后就可以选择刚才下载的mysqly安装文件上传,等待完成...
    

centos7 x64+mysql8生产环境部署

3.mysql安装

  • xz文件转tar文件(默认系统自带xz软件,若无则安装)

    //安装xz软件
    [root@localhost ~]#yum install xz -y
    
    //解压转化
    [root@localhost ~]#xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 
    
  • tar文件解压(默认系统自带tar软件,若无则安装)到/usr/local

    //安装tar软件
    [root@localhost ~]#yum install tar -y
    
    //解压
    [root@localhost ~]#tar xf mysql-8.0.19-linux-glibc2.12-x86_64.tar -C /usr/local
    
    //改名
    [root@localhost ~]#mv /usr/local/mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
    
    //进入目录
    [root@localhost ~]#cd /usr/local/mysql
    
  • 创建mysql用户组及用户

    //个人比较喜欢306,因为对应mysql3306端口
    [root@localhost mysql]#groupadd -r -g 306 mysql
    [root@localhost mysql]#useradd -g 306 -r -u 306 mysql
    
  • 创建mysql数据存储路径

    //虽然就是一个mkdir命令,但一般有两种方式:一是在LVM创建(可以快速做数据快照),二是在mysql目录创建,大多数公司会选择这种低成本方式
    [root@localhost mysql]#mkdir data
    
  • 更改mysql属主属组及权限

    //更改mysql属主属组
    [root@localhost mysql]#chown -R mysql.mysql /usr/local/mysql/*
    
    //给予data路径750权限
    [root@localhost mysql]#chmod o-rx /usr/local/mysql/data
    
  • my.cnf配置

    //配置文件优先级:/etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/my.cnf->~/my.cnf(多个配置文件相同属性不同配置后者生效),这里单点单实例安装,所以选择/etc/my.cnf
    [root@localhost mysql]#vi /etc/my.cnf
    
    //输入以下内容保存
    [mysqld]
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
  • mysql实例初始化

    //命令执行完,找[Note] A temporary password is generated for root@localhost:PMMh2:5N/?Wj,则冒号后是mysql的root用户密码
    [root@localhost mysql]#./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
    
  • 安全设置

    //mysql安装路径改回root属主
    [root@localhost mysql]#chown -R root /usr/local/mysql/*
    
    //data路径改回mysql属主
    [root@localhost mysql]#chown -R mysql /usr/local/mysql/data
    
    //给予data路径750权限
    [root@localhost mysql]#chmod o-rx /usr/local/mysql/data
    
  • 自启动配置

    //设置启动文件
    [root@localhost mysql]#cp support-files/mysql.server /etc/init.d/mysqld
    
    //设置执行权限
    [root@localhost mysql]#chmod +x /etc/init.d/mysqld
    
    //添加自启动项
    [root@localhost mysql]#chkconfig --add mysqld
    
  • 配置环境变量

    [root@localhost mysql]#echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/bashrc
    [root@localhost mysql]#source /etc/bashrc
    
  • 启动mysqld服务

    [root@localhost mysql]#systemctl start mysqld
    

4.mysql帐号配置

mysql8安装完成后,首先需配置你的root用户密码,及兼容低版本程序的远程连接管理帐户,否则不可用。因为mysql8使用了caching_sha2_password的加密方式,mysql5用的是sha256_password加密方式。

  • root登陆

    [root@localhost mysql]#mysql -uroot -p  //回车后输入上面的密码PMMh2:5N/?Wj
    
  • root密码修改(这里密码举个粟子)

    mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123456';
    
  • 创建远程连接用户(sha256_password加密方式)

    //创建用户(%可指定固定IP,%表示所有远程IP均可连接)
    mysql>CREATE USER 'dup'@'%'IDENTIFIED WITH mysql_native_password BY 'dup123456';
    
    //授权(WITH GRANT OPTION表示dup帐号自身权限可再授权,不加则不能授权)
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'dup'@'%' WITH GRANT OPTION;
    
    //更新权限表
    mysql>flush privileges;
    
  • 测试远程连接(连接工具Navicat Premium)
    centos7 x64+mysql8生产环境部署

mysql的单机服务器架设结束,如果你想搞读写分离,做主从和主主复制,请看这篇干货mysql8主从和主主复制实战带你实现。

上一篇:mysql(3)-使用mysql8.x版本设置远程连接


下一篇:Docker 快速搭建 MySQL8 开发环境