Linux 安装mysql数据库
系统:centos7
mysql版本:mysql-5.7.26
mysql 软件下载
# 官网下载
https://downloads.mysql.com/archives/community/
# 百度网盘
链接:https://pan.baidu.com/s/1NIgTgNh2cKDB03-bAasFnw
提取码:z0fd
卸载mariadb相关组件
[root@my-os tools]# rpm -qa |grep maria
mariadb-libs-5.5.64-1.el7.x86_64
[root@my-os tools]# rpm -e --nodeps mariadb-libs
创建用户及目录
[root@my-os tools]# mkdir /app
[root@my-os tools]# mkdir -p /data/mysql/data
[root@my-os tools]# useradd -s /sbin/nologin mysql
[root@my-os tools]# tail -1 /etc/passwd
文件解压
[root@my-os tools]# tar -zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /app/
[root@my-os tools]# cd /app/
[root@my-os app]# ls
mysql-5.7.26-linux-glibc2.12-x86_64
[root@my-os app]# mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26
# 创建软链接
[root@my-os app]# ln -s mysql-5.7.26/ mysql
配置环境变量及授权
[root@my-os app]# vi /etc/profile
[root@my-os ~]# tail -1 /etc/profile
export PATH=/app/mysql/bin:$PATH
[root@my-os ~]# source /etc/profile
# 目录授权
[root@my-os ~]# chown -R mysql.mysql /data/mysql/data /app/*
[root@my-os ~]# ls -ld /data/mysql/data/ /app/mysql
初始化
```
-----------两种模式初始化-------------
两个参数的区别:
--initialize :会生成临时随机密码,有效期180天,密码复杂度高
--initialize-insecure :无限制,无临时密码
```
# 安装依赖包
[root@my-os ~]# yum install -y libaio-devel
# --initialize 参数
[root@my-os ~]# mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql/data
# --initialize-insecure 参数
[root@my-os ~]# mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql/data
启动
```
两种方式:
1.通过service方式启动
2.通过systemd方式启动
```
# 配置文件
[root@my-os ~]# cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=61
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF
# 1. service方式
[root@my-os ~]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
# 启动
[root@my-os ~]# service mysqld start
# 2. systemd方式
[root@my-os ~]# 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
[Service]
User=mysql
Group=mysql
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
[Install]
WantedBy=multi-user.target
EOF
[root@my-os ~]# systemctl daemon-reload
# 启动
[root@my-os ~]# systemctl start mysql
[root@my-os ~]# systemctl status mysqld
service方式
设置密码及登录
# 第一次设置直接回车
[root@my-os ~]# mysqladmin -uroot -p password 123
Enter password:
# 登录
[root@my-os ~]# mysql -uroot -p123
抱歉,暂停评论。