下载安装包
在window中下载mysql5.7版本,官网地址:https://downloads.mysql.com/archives/community/
image使用xshell连接
请看文章:https://www.jianshu.com/p/98c97370f513
创建mysql存贮目录
sudo mkdir -p /data/app/ -p
通过xshell直接传输的 /data/app/ 目录下
先到达指定的目录下:
cd /data/app/
然后传输文件 可以使用xshell直接拖入文件(注意看报错的提示,需要下载一些东西,以及注意 权限问题)
image也可以使用xftp传输文件
解压文件
使用 tar
命令
sudo tar -xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
修改解压文件的名称
使用 mv
命令
sudo mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
创建存储数据
新建目录,用来存放数据
sudo mkdir /data/app/mysql/data
配置环境变量
- 打开
/etc/profile
- 方法一: 使用
gedit
, 文本编辑器,不能再在xshell中输入,需要在图形化界面中操作
sudo gedit /etc/profile
- 方法二 使用
vim
,若不会用,先G
到行尾 ,o
到下一行开头,可以开始编辑,输入内容,ESC
退出编辑 ,:wq
保存编辑并退出
sudo vim /etc/profile
- 在打开的文件末尾加上
export PATH=/data/app/mysql/bin:$PATH
image
- 执行环境变量
source /etc/profile
查看安装版本
mysql -V
image
创建mysql用户和组
创建组:
sudo groupadd mysql
用户与组:
sudo useradd -g mysql mysql
修改权限
使新建的用户获取MySQL文件的权限:
sudo chown -R mysql.mysql /data
修改存储数据的权限:
// 777 代表最高权限,可读可写可删
sudo chmod 777 -R /data/app/mysql/data
初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/app/mysql/data
会报错,缺少libaio相关的包
image
下载相关的包:
sudo apt install -y libaio*
下载东西时,可能需要解锁
sudo rm -rf /var/lib/dpkg/lock-frontend
sudo rm -rf /var/lib/dpkg/lock
其他报错:
2017-02-19T07:52:53.809065Z 0 [ERROR] –initialize specified but the data directory has files in it. Aborting.
2017-02-19T07:52:53.809095Z 0 [ERROR] Aborting
解决方法:
删除配置文件:
sudo rm -rf /etc/my.cnf*
删除数据文件夹中的内容:
sudo rm -rf /data/app/mysql/data/*
配置文件my.cnf
- 打开
/etc/my.cnf
- 方法一: 使用
gedit
,,但不要在不要在xshell中输入
sudo gedit /etc/my.cnf
- 方法二 使用
vim
sudo vim /etc/my.cnf
- 输入以下内容
[mysqld]
port=3306
basedir=/data/app/mysql/ # mysql地址
datadir=/data/app/mysql/data/ # 数据存放地址
character-set-server=utf8mb4
socket=/tmp/mysql.sock
[mysql]
default-character-set=utf8
socket=/tmp/mysql.sock
[client]
port=3306
default-character-set=utf8
socket=/tmp/mysql.sock
准备启动脚本
指定到文件目录:
cd /data/app/mysql/support-files
启动目录下的服务:
./mysql.server start
复制服务
cp mysql.server /etc/init.d/mysqld
添加
准备配置文件
- 打开
/etc/systemd/system/mysqld.service
- 方法一: 使用
gedit
, 不能在xshell中输入
sudo gedit /etc/systemd/system/mysqld.service
- 方法二 使用
vim
sudo vim /etc/systemd/system/mysqld.service
- 输入以下东西,但是要注意修改:
[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=/data/app/mysql/bin/mysqld # mysql的bin目录下的mysqld路径
--defaults-file=/etc/my.cnf # 配置文件
LimitNOFILE = 5000
mysql启动与停止
注意:将原来模式启动mysqld先关闭,然后再用systemd管理。
方式一:
service mysqld start
service mysqld stop
service mysqld restart
方式二:
systemctl start/stop/restart/status mysqld
satrt —— 启动
stop —— 停止
restart —— 重启
启动或者停止都没有提示
或者利用 mysqld
或 mysqld_safe
打开
mysqld --defaults-file=/etc/my.cnf &
mysqld --defaults-file=/etc/my.cnf &
注意:此处的 /etc/my.cnf
是配置文件的路径,默认的配置文件路径 /etc/my.cnf
、
/etc/mysql/my.cnf
、 /usr/local/mysql/etc/my.cnf
、 my.cnf
my.cnf`
查看端口
sudo netstat -tulnp
ss -tulnp
查看3306端口是否使用
登录
输入
mysql -u mysql -p
需要输入密码,直接回车
若失败,删除 /data/app/mysql/data/
中的数据,然后继续登录
sudo rm -rf /data/app/mysql/data/*
注意每次初始化会创建一个新用户 也就是 --user=name
中name
的内容,然后在登录时需要用到 mysql -u name -p
参考:
一、老男孩-标杆班级-MySQL-lesson01-简介及安装
注意
初始化时使用
--initialize-insecure
特点:
生成密码为空的管理员用户
--initialize
特点:
生成一个12位的4种复杂度的管理员用户,第一次登陆需要修改密码,这个密码是临时的
设置密码
mysqladmin -u用户名 -p旧密码 password 新密码
例如:
yz-0127@ubuntu:~$ mysqladmin -uroot -p'' password '888888';
88888 即为密码
网友评论