Centos7 下安装mysql5.7.17(glibc版)

一、安装前的检查
  1.1 检查 linux 系统版本

[root@localhost ~]# cat /etc/system-release

  1.2 检查是否安装了 mysql

[root@localhost ~]# rpm -qa | grep mysql

   若存在 mysql 安装文件,则会显示 mysql安装的版本信息
   如:mysql-connector-odbc-5.2.5-6.el7.x86_64
   卸载已安装的MySQL,卸载mysql命令,如下:
     

[root@localhost ~]# rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

   将/var/lib/mysql文件夹下的所有文件都删除干净。
   细节注意:
   检查一下系统是否存在 mariadb 数据库,如果有,一定要卸载掉,否则可能与 mysql 产生冲突。
   检查是否安装了 mariadb:

     

[root@localhost ~]# rpm -qa | grep mariadb
删除        
systemctl stop mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

  

   
三、安装 mysql
  3.1 解压安装包,并移动至 mysql 目录下
    解压 mysql 的 gz 安装包:
    

[root@localhost apps]# tar -zvxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql
/usr/local 目录下创建文件夹存 mysql:[root@localhost ~]# mkdir /usr/local/mysql

  


  3.2 添加系统用户
    添加 mysql 组和 mysql 用户:
      

添加 mysql 组:[root@localhost ~]# groupadd mysql
添加 mysql 用户:[root@localhost ~]# useradd -r -g mysql mysql

  


  
  3.3 安装 mysql
    

进入安装 mysql 软件目录:[root@localhost ~]# cd /usr/local/mysql/
安装配置文件:[root@localhost mysql]# cp ./support-files/my-default.cnf /etc/my.cnf(提示是否覆盖,输入“ y ”同意)
修改被覆盖后的 my.cnf:[root@localhost mysql]# vim /etc/my.cnf

  

[mysql] 
# 设置mysql客户端默认字符集 
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock 
[mysqld] 
#skip-name-resolve 
#设置3306端口 
port = 3306 
socket=/var/lib/mysql/mysql.sock 
# 设置mysql的安装目录 
basedir=/usr/local/mysql 
# 设置mysql数据库的数据的存放目录 
datadir=/usr/local/mysql/data 
# 允许最大连接数 
max_connections=200 
# 服务端使用的字符集默认为8比特编码的latin1字符集 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
#lower_case_table_name=1 
max_allowed_packet=16M 
#初始时使用无密码登陆mysql
#skip-grant-tables

  


    
    

创建 data 文件夹:[root@localhost mysql]# mkdir ./data
修改当前目录拥有者为 mysql 用户:[root@localhost mysql]# chown -R mysql:mysql ./
初始化 mysqld:[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/


启动 mysqld:[root@localhost mysql]# service mysqld start

  


    如正常,则安装成功

    如报错:
    

# 2018-09-08T01:42:11.940420Z mysqld_safe Logging to '/var/log/mysqld/my57_3307.log'.
2018-09-08T01:42:11.949380Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+ Exit 1 /usr/local/mysql57/bin/mysqld_safe --defaults-file=/dbdata/mysql/my57_3307/my57_3307.cnf --ledir=/usr/local/mysql57/bin

  

解决办法:

1、编辑mysql安装目录bin下的mysqld_safe文件

[root@test2 ~]# vim /usr/local/mysql/bin/mysqld_safe

  

2、找到下面的代码处

# Check that directory for $safe_mysql_unix_port exists
mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
if [ ! -d $mysql_unix_port_dir ]
then
mkdir $mysql_unix_port_dir
chown $user $mysql_unix_port_dir
chmod 755 $mysql_unix_port_dir
# 这里是5.7版本原始的配置:修改为上面三行
# log_error "Directory '$mysql_unix_port_dir' for UNIX socket file don't exists."
# exit 1
Fi

  


保存后,重新启动成功

猜你喜欢

转载自www.cnblogs.com/phoenixyouda/p/9968645.html