1.上传或下载包
[root@db02 ~]# rz mysql-5.6.46.tar.gz
2.安装依赖
#cmake过程需要的依赖 [root@db02 ~]# yum install -y cmake openssl openssl-devel ncurses-devel gcc gcc-c++ #初始化过程依赖 [root@db02 ~]# yum install -y autoconf libaio libaio-devel
3.解压
[root@db02 ~]# tar xf mysql-5.6.46.tar.gz
4.创建安装的目录
[root@db02 ~]# mkdir /service
5.生成
[root@db02 ~]# cd mysql-5.6.46/ [root@db02 mysql-5.6.46]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.46 \ -DMYSQL_DATADIR=/service/mysql-5.6.46/data \ -DMYSQL_UNIX_ADDR=/service/mysql-5.6.46/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_ZLIB=bundled \ -DWITH_SSL=system \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_DEBUG=0 #生成过程注释 #指定程序存放位置 cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.46 \ #指定数据存放目录 > -DMYSQL_DATADIR=/service/mysql-5.6.46/data \ #指定socket文件存放位置 > -DMYSQL_UNIX_ADDR=/service/mysql-5.6.46/tmp/mysql.sock \ #指定使用utf8字符集 > -DDEFAULT_CHARSET=utf8 \ #校验规则 > -DDEFAULT_COLLATION=utf8_general_ci \ #使用额外字符集 > -DWITH_EXTRA_CHARSETS=all \ #支持的存储引擎 > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_FEDERATED_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #不支持的存储引擎 > -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ #启动zlib库 > -DWITH_ZLIB=bundled \ #启动用SSL库 > -DWITH_SSL=system \ #支持本地数据导入 > -DENABLED_LOCAL_INFILE=1 \ #支持嵌入式服务 > -DWITH_EMBEDDED_SERVER=1 \ #支持下载 > -DENABLE_DOWNLOADS=1 \ #禁用DEBUG > -DWITH_DEBUG=0
6.编译安装
[root@db02 mysql-5.6.46]# make && make install
7.做软连接
[root@db02 ~]# ln -s /service/mysql-5.6.46 /service/mysql
8.创建数据的用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M
9.拷贝配置文件和启动文件
[root@db02 ~]# cd /service/mysql/support-files/ [root@db02 support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? y [root@db02 support-files]# cp mysql.server /etc/init.d/mysqld
10.配置system管理mysql
[root@db02 ~]# vim /usr/lib/systemd/system/mysql.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/service/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 [root@db02 ~]# systemctl daemon-reload
11.初始化数据库
[root@db02 ~]# cd /service/mysql/scripts/ [root@db02 scripts]# ll total 36 -rwxr-xr-x 1 root root 34977 Jun 3 17:05 mysql_install_db [root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql/ --datadir=/service/mysql/data
12.创建socket文件
#第一次使用system启动服务失败,可以查看/var/log/messages日志看报错,也可以使用/etc/init.d/mysqld启动,日志直接打印出来,能看到报错,发现缺少socket文件目录,我们要创建上 [root@db02 ~]# mkdir /service/mysql/tmp
13.授权mysql目录
[root@db02 ~]# chown -R mysql.mysql /service/mysql [root@db02 ~]# chown -R mysql.mysql /service/mysql-5.6.46/
14.启动服务
[root@db02 ~]# systemctl start mysql [root@db02 ~]# netstat -lntp | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 51435/mysqld [root@db02 ~]# ps -ef | grep [m]ysql mysql 51435 1 5 18:40 ? 00:00:00 /service/mysql/bin/mysqld --defaults-file=/etc/my.cnf
15.配置环境变量
[root@db02 ~]# vim /etc/profile.d/mysql.sh export PATH=/service/mysql/bin:$PATH [root@db02 ~]# source /etc/profile

