mysql安装

2017/11/17

centos7.X 安装

  1. 查看CentOS下是否已安装mysql
      sudo yum list installed | grep mysql
    
  2. 删除已安装mysql
      sudo yum -y remove mysql
    
  3. 下载mysql的repo源
      wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    
  4. 安装mysql-community-release-el7-5.noarch.rpm包
      rpm -ivh mysql-community-release-el7-5.noarch.rpm
    

    安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

  5. 安装mysql
      yum -y install mysql-server
    

    根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

  6. 重置mysql密码
      mysql -u root
    

    登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

      chown -R root:root /var/lib/mysql
    
  7. 重启mysql服务
      systemctl restart mysqld
    
  8. 接下来登录重置密码 链接地址

centos6.x

  1. 查看CentOS下是否已安装mysql
      sudo yum list installed | grep mysql
    
  2. 删除已安装mysql
      sudo yum -y remove mysql
    
  3. 查看yum库中的mysql(非必须)
      sudo yum list | grep mysql
    
  4. 从yum库中的安装mysql
      sudo yum -y install mysql mysql-server mysql-devel
    
  5. 验证是否安装成功
      rpm -qi mysql-server
    
  6. 启动MySql服务
      sudo service mysqld start
    
  7. 创建用户
      mysqladmin -u root password root
    
  8. 进入MySql
      mysql -u root -p root
    
  9. 修改密码 链接地址
  10. 设置开机启动(非必须)
      sudo chkconfig mysqld on
    

tar包安装

  1. 检查是否存在mysql库文件
      rpm -qa | grep mysql # 检查命令
      rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 # 若存在则卸载
    
  2. 检查是否存在mysql用户和组
      cat /etc/passwd | grep mysql # 检查命令
      useradd -r -g mysql mysql # 若不存在则创建 groupadd mysql
      # -r 参数表示mysql用户是系统用户,不可用于登录系统
    
  3. 创建数据、日志存储目录
      mkdir -p /data/mysql/data
      mkdir -p /var/lib/mysql/log
      mkdir /var/run/mysqld/
    
  4. 更改所属用户
      chown -R mysql:mysql /data/mysql
      chown -R mysql:mysql /var/lib/mysql/log
      chown -R mysql:mysql /opt/mysql
      chown -R mysql:mysql /var/run/mysqld/
    
  5. 解压安装包
      tar -zxf mysql-*.tar.gz -C /opt/soft/
    
  6. 链接
      ln -s /opt/soft/mysql* /opt/mysql
    
  7. 复制配置文件
      cp /opt/mysql/support-files/mysql.server /etc/init.d/mysql
      cp /opt/mysql/support-files/my-default.cnf /etc/my.cnf
    
  8. 修改配置文件 ```shell vim /etc/init.d/mysql basedir=/opt/mysql datadir=/data/mysql/data

vim /etc/my.cnf [mysqld] basedir =/opt/mysql datadir =/data/mysql/data character_set_server=utf8 init_connect=’SET NAMES utf8’ socket=/tmp/mysql.sock log-error=/var/lib/mysql/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

9. 初始化参数
  ```shell
  /opt/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql   --datadir=/data/mysql/data
  1. 添加环境变量 ```shell vim /etc/profile

    mysql environment

    export MYSQL_HOME=/opt/mysql export PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile

11. 配置mysql自动启动
  ```shell
  chmod 755 /etc/init.d/mysql
  chkconfig --add mysql
  1. 设置运行级别在3和5时mysql自动启动
      chkconfig --level 35 mysql on
    
  2. 启动mysql
      ./mysqld_safe --user=mysql & # 启动mysql
      cat /var/lib/mysql/log/mysqld.log | grep root@localhost
      mysql -uroot -p # 密码上面生成的临时密码
      mysql> set password=password("root");
      mysql> FLUSH PRIVILEGES;
    
  3. 允许root在任何主机登录
      mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
      mysql> grant all privileges on *.* to 'root'@'cdh-master' identified by 'root' with grant option;
      mysql> flush privileges;
    
  4. 启动mysql服务
      service mysql restart
    

文件结构

配置文件

/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

修改数据库data存放位置

首先把mysql的服务先停掉。

更改MySQL配置文件my.ini中的数据库存储主路径 或

mv /var/lib/mysql /data/mysql
ln -s /data/mysql /var/lib/mysql

常见问题及解决办法

问题

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘

解决

可能是服务未开启,也可能是/var/lib/mysql的访问权限问题。

问题

service mysqld start 失败

解决

sudo service mysqld start

问题

访问权限

解决

chown -R openscanner:openscanner /var/lib/mysql

目录