一、准备
在Oracle官网下载linux版本的mysql服务。我这边下载的是mysql的linux通用包,选用的是稳定的5.7版本。 下载链接
在服务器安全组/防火墙开放3306端口,不开放则后续无法使用使用本地的Navicat工具远程连接服务器数据库。
二、安装
1、使用xshell远程连接,进入安装目录。
cd /usr/local
2、使用xftp上传已下载好的mysql压缩包。
3、解压压缩包。
tar -zxnf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
4、删除压缩包。
rm -f mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
5、重命名解压文件夹(去掉版本信息)。建议直接复制,后续配置文件信息文件路径也是mysql
#先新建了一个mysql文件夹,在将解压的文件夹移动到新建的mysql文件夹内
mv mysql-5.7.39-linux-glibc2.12-x86_64 /usr/local/mysql
6、 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略。
#检查
groups mysql
#添加用户组和用户
groupadd mysql && useradd -r -g mysql mysql
7、创建数据目录并赋予权限。
#创建目录
mkdir -p /data/mysql
#授权
chown mysql:mysql -R /data/mysql
8、修改配置文件 vim /etc/my.cnf (没有就新建)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#登录跳过密码验证
skip-grant-tables
9、 启动mysql。
复制初始化文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#启动mysql
service mysql start
如果报错mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log。
原因是因为没有路径也没有权限,所以创建此路径并授权给mysql用户。
#创建路径
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
#授权
chown -R mysql:mysql /var/log/mariadb/
10、登录
不用输入密码直接回车。
/usr/local/mysql/bin/mysql -u root -p
11、刷新规则允许外部访问。
#选择访问mysql库
use mysql
#使root能在任何host访问,必须开启,否则远程连接失败
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;
12、修改密码。
#修改密码
ALTER USER "root"@"%" IDENTIFIED BY "密码";
#刷新
FLUSH PRIVILEGES;
13、退出mysql服务(exit),修改/etc/my.cnf免密删掉。
#把下面删掉
#登录跳过密码验证
skip-grant-tables
14、开机自启动。
systemctl enable mysql
三、配置环境变量
编辑配置文件。
vim /etc/profile
在文件最后添加下列代码。
export PATH=/usr/local/mysql/bin:$PATH
先esc退出编辑模式,在输入 :wq 保存并退出。
重启mysql服务。
service mysql restart
在任意位置输入命令,即可登录mysql。
mysql -uroot -p
四、远程连接
注意:这里服务器必须开放3306端口,不开启连接失败。