1.下载准备
由于服务器是不允许访问外网的,采用下载包的方式,在上传服务器进行安装
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
2.安装过程
2.1.将下载好的安装到解压到/usr/local目录下
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
2.2.进入/usr/local目录
cd /usr/local/
2.3.为mysql安装目录创建软链接
ln -s mysql-5.7.31-linux-glibc2.12-x86_64 mysql
2.4.为centos添加mysql用户组和mysql用户
groupadd mysql
useradd mysql –g mysql
2.5.进入安装mysql软件的目录,命令如下
cd /usr/local/mysql
2.6.修改当前目录拥有者为新建的mysql用户
chown -R mysql:mysql ./
2.7.安装mysql,命令如下
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
如果出现如下图所示则为安装成功,红线部分为生成的默认密码:
2.8.开启mysql服务,命令如下
./support-files/mysql.server start
如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
编辑/etc/my.cnf文件
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#设置忽略大小写
lower_case_table_names = 1
#指定编码
character-set-server=utf8
collation-server=utf8_general_ci
#开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
2.9.重新启开启mysql服务,如下图所示则开启成功!
./support-files/mysql.server start
2.10.将mysql进程放入系统进程中,命令如下
cp support-files/mysql.server /etc/init.d/mysqld
2.11.重新启动mysql服务,命令如下
service mysqld restart
2.12.配置mysql环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
保存退出,再编译下:
source /etc/profile
2.13.使用随机密码登录mysql数据库(可能出现密码过期提示)
mysql -u root -p
提示密码过期 不能使用
解决方法:
用忽略授权表的方法进入mysql
vi /etc/my.cnf
[mysqld]
skip-grant-tables
重启mysql , 进入mysql,密码直接回车
查看root用户的详细信息,修改密码过期策略
update user set password_expired="N" where user="root";
flush privileges;
把 /etc/my.cnf 的 skip-grant-tables 这行注释掉,重启mysql
2.14.进入mysql操作行,为root用户设置新密码:
alter user 'root'@'localhost' identified by 'root';
2.15.设置允许远程连接数据库,命令如下:
先选择数据库:
use mysql
update user set Host='%' where User='root';
查看修改后的值:
select user,host from user;
2.16.刷新权限,命令如下:
flush privileges;
2.17、开启3306防火墙端口,然后即可远程连接mysql
如果开启就不用管,此步骤省略…
使用navicat客户端工具连接