CentOS 6.8安装MySQL 5.7.20(编译方式)

前言:

在CentOS 6.8mini上安装了MySQL 5.7.20,使用的方式是从MySQL官网下载的tar源码包安装,要注意的是如果是在VM里安装的话会特别占用空间的安装完后会占用10G的空间,编译的目录就占用5个多G在VM里删除文件占用的空间并不会减小可以运行vmware-toolbox进行空间回收,前提是安装了vmware-tools。如果不想麻烦的话,最好还是用RPM包安装只占用1G空间,下面是具体的安装步骤:

安装步骤:

1.安装依赖

[root@XiaoFeng opt]# yum -y install wget gcc gcc-c++ make cmake ncurses ncurses-devel libaio bison bison-devel perl perl-devel perl perl-devel

2.下载MySQL,带boost的,就不用单独安装boost了

[root@XiaoFeng opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz

3.解压安装包

[root@XiaoFeng opt]# tar zxvf mysql-boost-5.7.20.tar.gz -C /usr/local
[root@XiaoFeng opt]# cd /usr/local/mysql-5.7.20

4.配置用户和用户组

[root@XiaoFeng mysql-5.7.20]# groupadd mysql   #创建mysql组
[root@XiaoFeng mysql-5.7.20]# useradd -r -g mysql -s /bin/false mysql  #创建mysql用户,并加入到mysql组,不允许mysql用户直接登录系统
[root@XiaoFeng mysql-5.7.20]# mkdir -p /data/mysql  #创建mysql数据库存放目录
[root@XiaoFeng mysql-5.7.20]# chown -R mysql:mysql /data/mysql  #设置mysql数据库目录权限

5.编译安装mysql

[root@XiaoFeng mysql-5.7.20]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=boost
[root@XiaoFeng mysql-5.7.20]#make && make install

6.初始化mysql

[root@XiaoFeng mysql-5.7.20]#cd /usr/local/mysql
[root@XiaoFeng mysql]# chown -R mysql:mysql ./  #设置目录权限
[root@XiaoFeng mysql]# bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
[root@XiaoFeng mysql]# bin/mysql_ssl_rsa_setup  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

7.修改配置文件,support-files目录下面默没有my-default.cnf,直接使用/etc目录下的my.cnf文件进行修改,需要什么配置自行添加

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql  #添加Mysql数据库路径
port=3306
socket=/tmp/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

8.设置开机启动

[root@XiaoFeng mysql]# cp ./support-files/mysql.server  /etc/rc.d/init.d/mysql    #复制启动文件到开机自动启动
[root@XiaoFeng mysql]# chmod 755 /etc/init.d/mysql  #增加执行权限
[root@XiaoFeng mysql]# chkconfig --add mysql        #添加到启动服务里
[root@XiaoFeng mysql]# chkconfig mysql on          #加入开机启动
[root@XiaoFeng mysql]# chkconfig --list mysql
mysql             0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭
[root@XiaoFeng mysql]# vim /etc/rc.d/init.d/mysql       #编辑启动文件加入下面两行
basedir = /usr/local/mysql  #mysql程序安装路径
 datadir = /data/mysql  #Mysql数据库存放目录
[root@XiaoFeng mysql]# service mysql start            #启动服务
[root@XiaoFeng mysql]# vim /etc/profile  
#把Mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
[root@XiaoFeng mysql]# source /etc/profile  #使PATH搜索路径立即生效

9.下面这两行把Mysql的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定Mysql的库文件地址。

[root@XiaoFeng mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@XiaoFeng mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

10.配置远程登录账号,添加mysql账户sjd,并给管理员权限

[root@XiaoFeng mysql]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
[root@XiaoFeng mysql]# /etc/init.d/iptables save
[root@XiaoFeng mysql]# mysql -uroot –p  #登录数据库,默认密码为空
mysql> CREATE USER 'sjd'@'%' IDENTIFIED BY '123456';
mysql> GRANT ALL PRIVILEGES ON * . * TO  'sjd'@'%' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

Mysql遇到的问题:

(一)出现问题的的报错信息

  Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

(二)解决方法

  rm -rf /var/lib/mysql/mysql.sock  删除这个文件

  ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock 创建软链接

  如果出现不存在这个 /var/lib/mysql/新建一个就可以了


就可以远程使用sjd远程登录mysql了,放张封面图

小风博客

打 赏

小风博客
请点评论按钮,登录后发表评论
  • 最新评论
  • 总共0条评论