【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:退出数据库

posted @ 2020-04-18 14:21  鄧萌  阅读(221)  评论(0)    收藏  举报