
# 安装MySQL
#### 获取MySQL安装包
下载地址：https://dev.mysql.com/downloads/mysql/5.7.html**，**本次安装版本为MySQL5.7版本
#### MySQL5.7安装包上传到Linux服务器
1. Linux服务器根目录下新建文件夹 tool文件夹：存放软件安装包
   xz文件夹：存放安装后的软件
   
2. 将下载好的mysql5.7压缩包上传至tool文件夹下
   图1上传mysql5.7压缩包   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898460205.png) 
#### 检查系统是否安装过MySQL
1. 检查系统是否安装过mysql,如果没有略过此步骤：如下图： 输入命令：rpm -qa\|grep mysql
   图2mysql安装检查   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852203978.png) 

2. 如果系统自带mysql，查询所有mysql 对应的文件夹，全部删除 输入命令：
   whereis mysql
   find / -name mysql
   图3删除自带mysql   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852362702.png) 
#### 卸载CentOS7系统自带mariadb
1. 查看系统自带的Mariadb 输入命令：rpm -qa\|grep mariadb
   
2. 卸载系统自带的Mariadb 输入命令：rpm -e --nodeps mariadb-libs-5.5.60-1.el7-5.x86_64
   
3. 删除etc目录下的my.cnf ，一定要删掉，等下再重新建，如果此目录下没有my.cnf文件，没有可执行命令
   图4删除my.cnf文件   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898483341.png)
   图5无my.cnf文件   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898642881.png) 
#### 检查有无安装过MySQL 用户组，如果无则创建
1. 检查mysql 用户组是否存在 输入命令：
   ```
   cat /etc/group | grep mysql
   cat /etc/passwd |grep mysql
   ```
   图6检查mysql 用户组   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852203990.png)
   如果存在用户账号已存在，则需要进行删除，永久性删除用户账号命令参考：
   ```
   userdel mysql
   groupdel mysql
   ```
   

2. 创建mysql 用户组和用户 输入命令：
   ```
   groupadd mysql
   useradd -r -g mysql mysql
   ```
   图7创建mysql   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852362714.png) 
#### 安装MySQL5.7
1. 解压安装mysql安装包到/xz/目录下 输入命令：
   ```
   tar -zvxf mysql-*.* -C /xz/
   ```
   图8解压mysql安装包   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898483357.png) 

2. 修改mysql-\*.\*名称为mysql5.7 输入命令：
   ```
   mv mysql-*.* mysql5.7
   ```
   图9修改mysql名称   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898642893.png) 

3. 更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限 输入命令：
   ```
   chown -R mysql:mysql /xz/mysql5.7
   chmod -R 755 /xz/mysql5.7
   ```
   图10更改用户组   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852204002.png) 

4. 进入/xz/mysql5.7/bin/目录，编译安装并初始化mysql，**务必记住数据库管理员临时密码,如下图画红色框的部分** 。
   输入命令：
   ```
   ./mysqld --initalize --user=mysql --datadir=/xz/mysql5.7/data --basedir=/xz/mysql5.7
   ```
   图11编译安装并初始化mysql   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852362726.png) 

5. 编写etc目录下的my.cnf 配置文件，并添加配置 输入命令：
   ```
   //进入配置文件
   vi /etc/my.cnf
   //在插入模式下编写，完成后保存
   [mysqld]
   datadir=/xz/mysql5.7/data
   port= 3306
   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
   symbolic-links=0
   max_connections=400
   innodb_file_per_table=1
   lower_case_table_names=1
   ```
   
6. 授予my.cnf 配置文件775权限 输入命令：
   ```
   chmod -R 775 /etc/my.cnf
   ```
   图12配置文件775权限   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898483365.png) 

7. 修改/xz/mysql5.7/support-files/目录下的mysql.server文件，如下图中5个位置的/usr/local/mysql全部修改成/xz/mysql5.7。
   图13修改mysql.server文件   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898642901.png) 

8. 启动mysql 服务器 查询服务：
   ```
   ps -ef|grep mysql
   ps -ef|gerp mysqld
   ```
   图14查询服务   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852204006.png)
   启动服务：
   ```
   /xz/mysql5.7/support-files/mysql.server start
   ```
   图15启动服务   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852362730.png) 

9. 添加软连接，并重启mysql 服务 输入命令：
   ```
   //添加软连接
   ln -s /xz/mysql5.7/support-files/mysql.server /etc/init.d/mysql
   ln -s /xz/mysql5.7/bin/mysql /usr/bin/mysql
   //重启mysql服务
   service mysql restart
   ```
   图16添加软连接并重启   
   ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898483369.png) 

10. 登录mysql ，密码就是初始化时生成的临时密码 输入命令：
    ```
    mysql -u root -p
    ```
    图17登录mysql   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898642909.png) 

11. 修改密码为root 输入命令：
    ```
    set password for root@localhost = password(‘root’)
    ```
    图18修改密码   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852204018.png) 

12. 开放远程连接 输入命令：
    ```
    use mysql
    update user set user.Host=’%’ where user.User=’root’
    flush privileges
    ```
    图19开放远程连接   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852362774.png) 

13. 设置开机自启 输入命令：
    ```
    //将服务文件复制到init.d下，并重命名为mysql
    cp /xz/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
    //赋予可执行权限
    chmod +x /etc/init.d/mysql
    //添加服务
    chkonfig --add mysqld
    //显示服务列表
    chkconfig --list
    ```
    图20设置开机自启   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898483441.png) 

14. 开放3306端口，测试本地客户端是否连接成功 输入命令：
    ```
    //开放3306端口命令
    Firewall-cmd --zone=public --add-port=3306/tcp --permanent
    //配置立即生效
    Firewall-cmd --reload
    ```
    图21开放3306端口   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001898642981.png)
    图22测试本地客户端是否连接成功   
    ![](https://support.huaweicloud.com/ulearning-smartclassroom-education/zh-cn_image_0000001852204082.png) 
至此，centos7安装mysql5.7完成，本客户端连接centos7中的mysql5.7服务端成功。
