参考文章:https://www.cnblogs.com/guduershi/p/12017008.html
由于网上找了好多文章都没有写的很详细,之前找的又不小心删了,所以自己参考写一篇存着,参考的写的也挺好的了,我的服务器Linux是阿里云centos 7.6的
1、检查环境
1.1 用以下指令检测系统是否自带mariadb
rpm -qa|grep mariadb
1.2 存在的话则用下面指令强制卸载
rpm -e --nodeps 接显示的mariadb的包名
2、下载MySQL
用命令行下载MySQL 5.7.31版本:
curl -C - -O https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-el7-x86_64.tar.gz
3、解压MySQL
3.1 将MySQL的tar.gz文件移动到想要的目录,我把它放在/usr/local目录下
mv mysql-5.7.31-el7-x86_64.tar.gz /usr/local
3.2 进入/usr/local,用tar命令解压
tar -xzvf mysql-5.7.31-el7-x86_64.tar.gz
4、重命名文件夹(主要是为了方便)
mv mysql-5.7.31-el7-x86_64 mysql-5.7.31
5、创建用户组和用户
# 检查mysql组和用户是否存在,如果没有则创建
cat /etc/group|grep mysql
# 创建用户组
groupadd mysql
# 创建用户
# useradd -r参数表示mysql用户是系统用户,不可用于登录系统
useradd -r -g mysql mysql
6、安装数据库
6.1 创建data目录
# 进入安装目录(mysql-5.7.31)
cd mysql-5.7.31
# 创建data数据存放目录
mkdir data
6.2 将安装目录/usr/local/mysql-5.7.31的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql-5.7.31
6.3 在/usr/local/mysql-5.7.31/support-files目录下创建my_default.cnf,并粘贴以下内容到my_default.cnf
[client]
# 修改编码格式为utf8
default-character-set=utf8
[mysqld]
# 设置mysql的安装目录
basedir = /usr/local/mysql-5.7.31
# 设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.31/data
# 设置端口
port = 3306
socket = /tmp/mysql.sock
# 设置字符集
character-set-server=utf8
# 日志存放目录
log-error = /usr/local/mysql-5.7.31/data/mysqld.log
pid-file = /usr/local/mysql-5.7.31/data/mysqld.pid
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
6.4 拷贝my_default.cnf覆盖系统可能存在的my.cnf
cp my_default.cnf /etc/my.cnf
7、初始化MySQL
7.1 进入/usr/local/mysql-5.7.31/bin目录,执行以下指令(其中basedir是你MySQL的安装路径,datadir则是你存放数据的路径,具体位置看情况调整)
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.31 --datadir=/usr/local/mysql-5.7.31/data
如果报错:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,不要慌,执行安装下面的命令安装即可,安装完成后再执行刚刚那条命令
yum install libaio
7.2 查看临时密码,输入以下指令后即可查看,一般在安装目录底下可以直接打相对路径查看
cat /usr/local/mysql-5.7.31/data/mysqld.log
红框处为临时密码
8、启动MySQL服务
8.1 将support-files中的启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
8.2 启动MySQL
# 启动MySQL
service mysql start
# 相关指令
# 重启MySQL
service mysql restart
# 关闭MySQL
service mysql stop
9、配置MySQL环境变量
9.1 通过vim /etc/profile编辑环境变量文件,在末尾添加
# MySQL environment
export MYSQL_HOME=/usr/local/mysql-5.7.31
export PATH=$MYSQL_HOME/bin:$PATH
9.2 退出vim后重编译配置文件
source /etc/profile
通过上述步骤之后就可以直接在任意地方使用mysql -u root -p啦
10、修改密码
还记得前面的查看的默认密码吗,在修改密码这里要用到。
10.1 输入下面指令->回车->输入旧密码->回车->输入新密码->确认新密码->回车后即可更改成功
mysqladmin -u root -p password
修改成功!
11、添加远程访问权限
11.1 登录MySQL,输入mysql -u root -p回车输入刚刚改好的密码即可登录
11.2 添加权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
11.3 开放服务器3306端口(略讲)
在安全组中新建规则,添加3306即可
11.4 用本地的Navicat测试连接