【MySQL安装部署】
从官网下载二进制包,上传到Linux系统:http://dev.mysql.com/downloads/mysql/5.1.html
1,规划
OS: Centos 7.6
磁盘: 20G(system)+50G(/data)
IP: 10.0.0.51
hostname: db01
/etc/hosts : 10.0.0.51 db01
iptables: OFF
SELINUX: disabled
MySQL vervion : 5.7.26 二进制版本
2、 创建关键目录,数据库的系统从直观上分为两大部分
- 软件路径:看公司规范一般是按官方 :/usr/local/(不用创建,本来就有)。也有别的路径,按实际情况。
- 数据路径:可以单独挂一个新盘,加一块磁盘。把操作系统和数据库数据分开,防止主机宕机丢失数据和软件,数据很重要不能丢
mkdir -p /data/

3、创建数据目录和日志目录
[root@db01 ~]# mkdir -p /data/mysql/data /data/binlog

4、上传并处理软件包
[root@db01 /usr/local]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@db01 /usr/local]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql (或软链接都可以)

5、创建用户并授权(给软件目录和数据目录用,便于管理,官方要求非root用户要用虚拟用户。)
[root@db01 /usr/local]# useradd mysql
[root@db01 /usr/local]# chown -R mysql. /data /usr/local/mysql

6、设置环境变量
vim /etc/profile
最后一行添加
export PATH=/usr/local/mysql/bin:$PATH
[root@db01 ~]# source /etc/profile
[root@db01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper


7、 数据初始化(数据在初始化之前是没有的)
[root@db01 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@db01 ~]# yum remove mariadb-libs -y
[root@db01 ~]# yum install -y libaio-devel
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
(5.6版本初始化:scripts/mysql_install_db_ --user --basedir --datadir)

如果yum不能使用,查看yun源:/etc/yum. repos.d/(如果让它自己找就删除其他源,走base本地源)
如果不安装 libaio-devel 会报错
--- 初始化参数介绍:
--initialize-insecure 初始化参数(不安全,启动用的)
--initialize 初始化参数(安全)
(1) 生成随机12位的初始密码(大写,小写,数字,符号)
(2) 要求所有密码都具备复杂度要求(修改密码3种8位)
(3) 密码过期时间180天


8、 生成初始化配置文件
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=51
[mysql]
socket=/tmp/mysql.sock

初始化配置文件说明:(要根据自己的进行调节)
[mysqld]
user=mysql
basedir=/usr/local/mysql #软件目录
datadir=/data/mysql/data #数据目录
socket=/tmp/mysql.sock
server_id=51
[mysql]
socket=/tmp/mysql.sock
9、 准备启动脚本(用什么模式开启,就用什么模式关闭,开启新的就把旧的关闭)
1) sys-V启动方式:(CentOS6以及之前服务管理的一种模式,沿用到C7。把写好的脚本拷贝到目录下)
系统自带启动脚本:/usr/local/mysql/support-files/mysql.server
[root@db01 ~]# cd /usr/local/mysql/support-files/
[root@db01 /usr/local/mysql/support-files]# cp mysql.server /etc/init.d/mysqld
[root@db01 ~]# service mysqld start

所有的启动错误都报错 PID找不到,不能做为排错的条件
排错:

底部输入:/ERRO
截图并进行排错
2) systemd管理(C7)
从官方拿来的脚本,可进行调节【/etc/systemd/system/mysqld.service】
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
配置文件说明
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf(路径做修改:前段是调用程序,后段是配置文件路径)
CentOS 7下重启MariaDB的时候出现Warning: Unit file of mysql.service changed on disk, 'systemctl daemon-reload' recommended.错误,根据提示,
解决方法:【重新加载一下配置systemctl管理的文件】
systemctl daemon-reload
正常重启
systemctl restart mysql
其他服务出现类似的情况,也可以使用systemctl daemon-reload来解决
10、设置密码并入库:
[root@db01~]# mysqladmin -uroot -p password 123


11、使用体验

Ctrl+d:退出数据库

浙公网安备 33010602011771号