1. 首先下载mysql安装包,这里一般有如下2种下载方式
- wgt方式下载:进入服务器中的package目录(注:该目录是我自己创建的,用于存放所有应用的安装包,您也可以随便创建其他名称的目录来存放安装包)
cd /package/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
- 您也可以去官网手动下载tar压缩包以后手动上传至服务器端
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
可以在页面的product version一栏选择您要使用的mysql版本,这里我们演示使用的是5.7.26版本,如下图:
下载后可以使用fastdfs,或命令行的方式上传至服务器指定目录,如scp命令等
2. 解压mysql压缩包到/usr/local/mysql目录
# 在/usr/local文件夹中创建mysql文件夹,存放mysql压缩包中的内容
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
3. 检查mysql是否有用户组以及mysql用户,如果没有就添加用户,有就忽略这一步
groups mysql
命令执行后如图所示即表示没有用户
4. 创建mysql用户组和mysql用户
groupadd mysql useradd -r -g mysql mysql
5. 创建mysql数据目录
mkdir -p /data/mysql
6. 对mysql数据目录赋予权限
chown mysql:mysql -R /data/mysql
7. 编辑mysql配置文件
vim /etc/my.cnf
#并在文件中的[mysqld]下方加入如下代码
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#同时记得将原本文件中存在的datadir以及socket配置注释掉,注释方式:在行首加一个#号
8. 初始化mysql
cd /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/ --datadir=/data/mysql/ --initialize
9. 找到初始密码:
less /data/mysql/mysql.err | grep root@localhost:
执行后如下图所示框选内容即为默认密码(记得保存一下):
10. 启动mysql:
cp /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql
service mysql start
11. 当执行service mysql start时,出现以下内容,则表示mysql启动成功了:
12. 重置root密码:这一步可做可不做,如果不觉得之前初始化时自动生成的root密码不好记的话,可以进行root密码的重置操作;反之若需要重置root密码,请看该步骤操作:
cd /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin/
mysql -u root -p
此时需要输入之前复制出来的初始密码,输入完成后,就进入了mysql客户端,此时输入如下命令修改root密码,例如密码为123456:
set password for root@localhost = password('123456');
13. 扩展:取消root用户登录的host限制,即使用root用户登录时,可以在任何一个host进行操作。
#进入mysql客户端
mysql -u root -p
#输入密码完成登陆
#登陆成功,如下代码需要在mysql客户端中输入
#执行如下命令修改root用户登录的host限制
use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
quit
#重启mysql
service mysql restart
14. 创建一个新用户,并授权某个数据库的权限
#登陆到mysql客户端
mysql -u root -p
#输入密码完成登陆...
#登陆成功,如下代码需要在mysql客户端中输入
#创建用户,用户名为xzz,密码为123
CREATE USER 'xzz'@'%' IDENTIFIED BY '123456';
# @后面的%解释如下:
# '%' - 所有来源host都能访问
# 'localhost' - 只有通过本机才能访问
# '255.255.255.255' - 只有通过指定ip才能访问
# 给予用户数据库权限
# 示例:grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";
# all 可以替换为 select,delete,update,create,drop
# 数据库名 所有的 用*
# 数据库表 所有的 用*
grant all on testdb.* to xzz@'%' identified by "123456.*";
至此在linux上搭建mysql就完成了