1、去MySQL官网下载glibc压缩包mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,版本自选

    2、检查当前系统中是否已经安装了MySQL

    1. rpm -qa | grep mysql

    3、如果有的话卸载已安装的MySQL

    1. rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

    4、检查一下系统是否存在 mariadb 数据库

    1. rpm -qa | grep mariadb

    5、如果有的话,同上卸载

    6、将MySQL包上传到服务器,解压,在/user/local下创建mysql文件夹,并将解压出来的文件移动过去

    1. tar -zvxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    2. mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql

    7、修改/etc/my.cnf,没有的话手动创建,内容如下,可根据自己的需求进行修改,不是固定配置

    1. #mysql客户端默认字符集
    2. [mysql]
    3. default-character-set=utf8
    4. socket=/var/lib/mysql/mysql.sock
    5. [mysqld]
    6. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    7. server_id=101
    8. #开启binlog
    9. log_bin=mysql-bin
    10. #binlog格式
    11. binlog_format=ROW
    12. #skip-name-resolve
    13. #
    14. ##设置3306端口
    15. #
    16. port = 3306
    17. #
    18. socket=/var/lib/mysql/mysql.sock
    19. #
    20. ## 设置mysql的安装目录
    21. #
    22. basedir=/usr/local/mysql
    23. #
    24. ## 设置mysql数据库的数据的存放目录
    25. #
    26. datadir=/usr/local/mysql/data
    27. #
    28. ## 允许最大连接数
    29. #
    30. max_connections=200
    31. #
    32. ## 服务端使用的字符集默认为8比特编码的latin1字符集
    33. #
    34. character-set-server=utf8
    35. #
    36. ## 创建新表时将使用的默认存储引擎
    37. #
    38. default-storage-engine=INNODB
    39. #
    40. ##lower_case_table_name=1
    41. #
    42. max_allowed_packet=16M

    8、添加 mysql 组和 mysql 用户

    1. #添加 mysql
    2. groupadd mysql
    3. #添加 mysql 用户
    4. useradd -r -g mysql mysql

    9、检查是否安装了 libaio

    1. rpm -qa | grep libaio
    2. #没有则安装
    3. yum -y install libaio

    10、进入/usr/local/mysql目录,创建data文件夹,修改当前目录拥有者为 mysql 用户

    1. [root@localhost mysql]# mkdir ./data
    2. [root@localhost mysql]# chown -R mysql:mysql ./

    11、创建/var/lib/mysql目录,修改当前拥有者为mysql用户

    1. mkdir /var/lib/mysql
    2. chown -R mysql:mysql /var/lib/mysql

    12、初始化mysqld

    1. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    2. #此处会生成初始密码,需要记住,后边登录使用

    13、设置开机自启

    a. 复制启动脚本到资源目录:[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    b. 增加 mysqld 服务控制脚本执行权限:[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
    c. 将 mysqld 服务加入到系统服务:[root@localhost mysql]# chkconfig --add mysqld
    d. 检查mysqld服务是否已经生效:[root@localhost mysql]# chkconfig --list mysqld
      命令输出类似下面的
        mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。
    

    14、环境变量配置

    打开 /etc/profile文件,在尾部追加配置
    export PATH=$PATH:/usr/local/mysql/bin
    重新加载环境变量
    source /etc/profile
    

    15、启动MySQL,使用初始密码登录

    systemctl start mysql
    

    16、登录后配置

    初次登录需要设置密码才能进行后续的数据库操作:SET PASSWORD = PASSWORD('123456');(密码设置为了123456) 
    
    修改密码为 password:update user set authentication_string=PASSWORD('password') where User='root';
    

    17、创建用户

    mysql> use msyql 
    
    mysql> create user 'user-name'@'ip-address' identified by 'password'; #引号部分自己修改即可
    
    其他方案:
    
      授权root用户可以进行远程连接,注意替换以下代码中的“password”为 root 用户真正的密码,
    
      另外请注意如果你的root用户设置的是弱口令,那么非常不建议你这么干!:   
    mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
    mysql> flush privileges;
    

    18、开启防火墙

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    

    CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口
      —zone : 作用域,网络区域定义了网络连接的可信等级。
        这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接
      —add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp
      —permanent : 永久生效,没有此参数系统重启后端口访问失效