MySQL安装
yum install mysql-server mysql-devel mysql-libs -y #CentOS6.x YUM安装
yum install mariadb-server mariadb mariadb-libs -y CentOS7.x YUM安装
wget -y https://mirrors4.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5/mysql-5.5.60.tar.gz
# 依赖库安装
yum install cmake make ncurses-devel ncurses -y
yum install gcc gcc-c++
yum install -y bison
yum install -y git
#
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
make
make install
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 Cmake预编译路径;
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock MYSQL Socket通信文件位置;
-DMYSQL_DATADIR=/data/mysql MYSQL数据存放路径;
-DSYSCONFDIR=/etc 配置文件路径;
-DMYSQL_USER=mysql MYSQL运行用户;
-DMYSQL_TCP_PORT=3306 MYSQL监听端口;
-DWITH_XTRADB_STORAGE_ENGINE=1 开启xtradb引擎支持;
-DWITH_INNOBASE_STORAGE_ENGINE=1 开启innodb引擎支持;
-DWITH_PARTITION_STORAGE_ENGINE=1 开启partition引擎支持;
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 开启blackhole引擎支持;
-DWITH_MYISAM_STORAGE_ENGINE=1 开启MyISAM引擎支持;
-DWITH_READLINE=1 启用快捷键功能;
-DENABLED_LOCAL_INFILE=1 允许从本地导入数据;
-DWITH_EXTRA_CHARSETS=1 支持额外的字符集;
-DDEFAULT_CHARSET=utf8 默认字符集UTF-8;
-DDEFAULT_COLLATION=utf8_general_ci 检验字符;
-DEXTRA_CHARSETS=all 安装所有扩展字符集;
-DWITH_BIG_TABLES=1 将临时表存储在磁盘上;
-DWITH_DEBUG=0 禁止调试模式支持;
make 编译;
make install 安装。
cd /usr/local/mysql
mkdir –p /data/mysql
useradd mysql
chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /usr/local/mysql
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
# 数据库初始化
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/
# 安全模式启动 & 后台运行
/usr/local/mysql/bin/mysqld_safe --user=mysql &
#软连接
ln -s /usr/local/mysql/bin/* /usr/bin/
#编辑systemctl 启动脚本
#CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/system ,/usr/lib/systemd/user
cd /usr/lib/systemd/system
mkdir –p /data/mysql
useradd mysql
chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /usr/local/mysql
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
# 在配置文件添加报错日志路,并修改文件为 mysql.mysql
vim /etc/my.cnf
#添加[mysqld] log-error=/var/log/mysql/mysql.err
# 数据库初始化
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/
vim mysqld.service # 文件名就是服务启动名
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
# 路径自行修改
[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
[Service]
User=mysql
Group=mysql
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables etc.
#ExecStartPre=/usr/bin/mysql-systemd-start pre
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld_safe
# Don't signal startup success before a ping works
#ExecStartPost=/usr/bin/mysql-systemd-start post
# Give up if ping don't get an answer
TimeoutSec=600
Restart=always
PrivateTmp=false
# 参考yum mysql安装的 mysqld.service 服务脚本
[Unit]
Description : 服务的简单描述
Documentation : 服务文档
After= : 依赖,仅当依赖的服务启动之后再启动自定义的服务单元
[Service]
Type : 启动类型simple、forking、oneshot、notify、dbus
Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。 Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
PIDFile : pid文件路径,对应程序的.
ExecStartPre :启动前要做什么.
ExecStart:启动
ExecReload:重载
ExecStop:停止
PrivateTmp:True表示给服务分配独立的临时空间
[Install]
WantedBy:服务安装的用户模式