linux安装mysql5.7并使用navicat链接

1、下载 mysql5.7的安装包

下载地址:传送门

在这里插入图片描述

2、上传并解压下载好的压缩包

2-1 解压上传的压缩包:
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述
2-2 依次执行如下命令:
剪切到/usr/local/目录下 mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
重命名为mysql mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
2-3 进入/usr/local/mysql/,创建data文件夹
mkdir /usr/local/mysql/data/

3、创建mysql用户组并设置权限

groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysq
chmod -R 755 /usr/local/mysql

4、编译安装并初始化mysql,请务必记录初始密码(数据库管理员临时密码)

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

在这里插入图片描述

5、编辑my.cnf文件,添加如下信息

[root@localhost bin]#  vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1

6、启动mysql

/usr/local/mysql/support-files/mysql.server start

注意:如果启动mysql时候出现如下类似问题,可按照下面的方法解决

Starting MySQL.2020-10-17T07:27:42.348112Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

这儿很明显,说我并没有/var/log/mariadb/mariadb.log这个文件,我们可以自己创建同时给予权限

chown -R mysql:mysql /var/log/mariadb/

修改完成后重启mysql服务

service mysql restart

7、登录mysql并且修改密码

登录命令: mysql -utoot -p

输入第四步保存后的密码,如果输入密码后出现如下错误

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

修改my.cnf文件

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock #添加此行代码与最后三行到自己的my.cnf文件中
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#最后三行
[client]
port=3306
socket=/var/lib/mysql/mysql.sock

重启mysql service mysql restart

在这里插入图片描述
登录成功,接下来修改密码以及连接方式

修改密码 set password for root@localhost = password('yj123456');

#这儿的root账户只允许本地连接,只要把localhost修改成%号就可以任意连接了
select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)

update user set host = ’%’ where user = ’root’;

ok,连接成功
在这里插入图片描述

到此就没什么问题了,补充一下,因为我是虚拟机,防火墙没开,所以就算修改了root账户的链接权限也无法链接成功,这个时候将3306的防火墙打开就ok了

firewall-cmd --zone=public --add-port=3306/tcp --permanent 打开防火墙
firewall-cmd --reload 重启防火墙

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值