开始安装前先关闭防火墙:
systemctl stop firewalld.service
Setenforce 0
首先安装所需要的配置环境:
yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++
之后创建mysql用户:
useradd -s /sbin/nologin mysql
扫描共享的安装包,mkdir创建一个挂载目录(abc),挂载到abc目录底下
(注:5.7版本内容较大,至少留出7、8个G的空间):
smbclient -L //ipaddress/
mount.cifs //ip/共享文件 /abc
之后解压到opt目录:
tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
将/usr/local/目录下的boost _1_59_0 改名为boost,方便后期查看:
cd /usr/local/
mv boost_1_59_0 boost
转到mysql-5.7.17目录下,添加配置文件:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
------注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧------------
执行命令,一般的电脑的安装过程大约需要40分钟左右:
make && make install
更改属主:
chown -R mysql.mysql /usr/local/mysql/
进入/etc/my.cnf/,将原有的【mysqld】内容删除,改为:
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
log-error=/usr/local/mysql/data/mysql_error.log #错误日志
general_log=ON #通用日志
general_log_file=/usr/local/mysql/data/mysql_general.log #指定存放位置
log_bin=mysql-bin #二进制日志
slow_query_log=ON #慢日志
slow_query_log_file=mysql_slow_query.log
long_query_time=5
socket = /usr/local/mysql/mysql.sock
server-id = 1
其中,各种日志文件也已经配置好路径。
如果后期需要查看二进制目录文件,
可以利用mysqlbinlog --no-defaults mysql-bin.000001进行解析转码。
添加sql支持各种模式:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
然后wq保存退出。
再次修改属主到mysql:
chown mysql:mysql /etc/my.cnf
修改环境变量至/etc/profile/环境变量文件:
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
让其生效:
source /etc/profile
转至/usr/local/mysql/目录下,初始化数据库:
bin/mysqld \
--initialize-insecure \ #指定密码
--user=mysql \ #指定管理用户
--basedir=/usr/local/mysql \ #制定工作目录
--datadir=/usr/local/mysql/data #指定数据文件目录
让系统便于识别和管理:
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
之后开启mysql服务:
systemctl start mysqld
检查3306端口查看是否开启:
netstat -anpt | grep 3306
给root账号设置密码为“abc123”
mysqladmin -u root -p password "abc123"
首先回车确认空密码,之后再用:
mysql -u root -p
输入密码后进入mysql就可以进行使用了。
同时让此账号和密码授权远程登陆(注意分号):
grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option;