盒子
盒子
文章目录
  1. 版本
  2. 安装步骤
    1. 下载
    2. 安装
  3. 配置外网访问
  4. 终端导出数据库脚本

mysql 解压版 centos 部署,相关问题解决方案

版本

centos 7

mysql-5.7.16

安装步骤

转载自 CentOS下MySql 5.7.16 解压版安装

下载

官网下载地址:https://dev.mysql.com/downloads/

1
wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.16-Linux-glibc2.5-x86_64.tar.gz

安装

  1. 创建目录
1
mkdir  /usr/local/mysql/
  1. 首先将安装包复制到 /user/local 目录下,进入local目录,解压安装包
1
#tar -xvzf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz  -C   /usr/local/mysql/

​ 这里要注意,解压后的目录名是mysql(别的也可以,只是后续的操作需要注意它的路径)

  1. 创建mysql用户:
1
#groupadd mysql

​ 可以查看 用户是否创建成功

1
2
#cat /etc/group
#useradd -r -g mysql mysql
  1. 进入mysql 目录中 ,执行安装程序:
1
2
#cd /usr/local/mysql/
yum install libaio
  1. 创建日志目录
    1
    2
    3
    4
    5
    6
    7
    mkdir /var/log/mariadb/

    chown mysql:mysql /var/log/mariadb/

    mkdir /var/run/mariadb

    chown mysql:mysql /var/run/mariadb

如果不创建分别会出现如下错误:

​ touch: 无法创建”/var/log/mariadb/mariadb.log”: 没有那个文件或目录

​ chmod: 无法访问”/var/log/mariadb/mariadb.log”: 没有那个文件或目录

  1. 修改my.cnf配置文件
1
2
3
4
#cd  /usr/local/mysql/support-files
#cp my-default.cnf /etc/my.cnf
#cp mysql.server /etc/init.d/mysql
#vim /etc/my.cnf

img

​ 将socket 修改为 socket=/tmp/mysql.sock ,否则会出现以下问题

​ ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

  1. 初始化数据库

    1
    2
    cd /usr/local/mysql
    ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

    出现以下语句表示成功,并显示root临时密码。

[Note] A temporary password is generated forroot@localhost: 这个冒号后面就是临时密码

  1. 启动数据库

# ./bin/mysqld_safe --user=mysql

​ 这时可以查看日志是否启动成功

# cat /var/log/mariadb/mariadb.log

​ Version: ‘5.7.16’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Server (GPL)

  1. 修改root用户密码

    1
    2
    3
    4
    ./bin/mysql -uroot -p
    然后输入临时密码进入数据库,执行以下修改密码命令。
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '这里写密码';
    mysql> flush privileges;
  2. 设置系统自动启动

    1
    2
    3
    4
    5
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    chkconfig --add mysqld

    chkconfig --level 2345 mysqld on
  3. 添加环境变量

# vim /etc/profile

​ 在最后添加以下语句:

export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"

​ 注:MYSQL_HOME的路径即mysql的绝对路径

保存退出 ,刷新环境变量

# source /etc/profile

  1. 修改mysql的编码集,设置大小写不敏感

    # vim /etc/my.cnf

img

  1. 重启数据库

    # service mysq restart

至此 mysql 完成了安装。

配置外网访问

参考博文:配置MySQL服务器使得外网可以连接

如果是刚安装完外网不能访问,一般是因为 mysql 的权限控制限制了外网访问。

执行

sudo mysql -uroot -p[你的密码]

use mysql

1
2
grant all privileges on *.* to 'root'@'[允许的ip]' identified by '[密码]' with grant option;
flush privileges;

其中 [允许的ip] 如果设置为 % 的话则表示所有 ip 都可以访问,[密码] 表示外网访问的密码是什么。比如我设置成所有 ip 都可访问,密码是 root,则命令如下:

1
2
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

终端导出数据库脚本

1
2
3
mysqldump -u root -p [数据库名] > /导出文件名

mysqldump -u root -p skill > /skill.sql