在Linux中配置MySQL并远程连接

一.安装前的检查和准备工作。

1.1检查自己的liunx是否安装过mysql

rpm -qa | grep mysql

​ 1.1.1如果有的话,就删除(XXXX是自己的mysql目录)

rpm -e --nodeps mysql-xxxx

1.2查询所有的mysql对应的文件夹

whereis mysqlm
find / -name mysql

​ 1.2.1删除相关目录或者文件

rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql

​ 1.2.2验证一下是否删除干净

whereis mysqlm
find / -name mysql

1.3检查mysql用户组和用户是否已经创建过,没有就创建(4个命令一步一步操作)

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql

二.安装Mysql

1.在liunx中cd 到你上传或者下载的mysql目录。

2.然后复制下面命令解压它:(如果版本不一样,换下名字即可。)

tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz

3.解压完成后可以看到上图中多了一个文件夹目录。

4.复制下面的命令:移动这个目录到/usr/local目录下,并修改名字为mysql

mv mysql-5.7.40-linux-glibc2.12-x86_64 /usr/local/mysql

5.复制下面的命令:在/usr/local/mysql目录下创建data目录(一定要在这个目录中创建!!)

mkdir /usr/local/mysql/data
  1. 修改mysql目录的下所有的目录及文件夹的用户组和用户的权限。
chown -R mysql:mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

7.如果输入上面命令报错!就说明你没有创建MySQL的用户!(没报错忽略这一步!)

使用下面命令添加mysql用户

groupadd mysql
useradd -r -g mysql mysql

8.下面进行编译并初始化mysql

初始化会出现一个临时密码,一定要记住这个密码!复制保存出来!(后面改密码要用!)

8.1 进入你安装好的mysql的/bin目录

cd  /usr/local/mysql/bin

8.2 复制下面的命令进行编译和初始化。(重要)

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

出现的临时密码一定要记录下来!

用Xftp软件进入/usr/local/mysql的目录。在这里新建一个my.cnf的文件。

用Xftp打开这个文件,右键,用记事本编辑。(复制下面的配置信息到my.cnf文件里)

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

9.启动mysql服务。

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

报错信息如下:(contOS 7.5 以上会报这个错)

Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/..pid).

解决方法:

1.把自己上面创建的my.cnf文件删除,然后用liunx自带的my.cnf文件。

liunx 自带my.cnf路径: /etc/my.cnf

将上面的配置信息替换到这个里面去

10.添加mysql 软连接并重启mysql服务。(一步一步来,这是三个命令不是一个!!)

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

service mysql restart

11.登录mysql ,并修改你的初始密码!(密码为上面生成的临时密码)

mysql -u root -p

复制下面的命令修改密码:(这里我改的是123456,你们随意!)

set password for root@localhost = password('123456');

12.用Navicat界面管理软件去连接

登录MySQL后:输入下面命令:

mysql -u root -p
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

执行完毕后就可以用远程连接了!

如果Navicat连接报错

输入命令 iptables -vnL|grep 3306 回车,查看防火墙是否设置了3306端口

如果回车后没数据,说明没有3306端口,如果回车后显示3306端口是drop状态,都需要修正,方法如下:

输入命令然后回车
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

再次输入 iptables -vnL|grep 3306 回车即可看到3306端口状态信息:

再使用navicat连接mysql就没有问题了。

Linux防火墙开放3306端口(重启也不会失效)

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd reload

MySQL数据库服务启动:service mysqld status 报错,Unit mysqld.service could not be found.

解决办法:

1.将该mysql数据库/usr/local/mysql/support-files路径下的mysql.server复制到/etc/init.d路径下,并重命名为mysqld

2.chmod a+wrx /etc/init.d/mysqld

3.修改mysqld文件中(66~73行代码处)的basedir、bindir、sbindir、libexecdir路径为该mysql安装路径

保存后执行

启动mysql服务
service mysqld start
关闭MySQL服务
service mysqld stop

linux 上设置mysql开机自启

1、普通启动,进入mysql安装路径 :cd /usr/local/mysql

service mysql start

2、这个时候我们只是单纯的启动了mysql,并没有做到开机启动
我们设置开机启动需要将mysql.server 文件复制到 /etc/rc.d/init.d/ 目录下mysql 文件 我们的mysql.server 文件一般都在安装的根目录下的 support-files 目录下

cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

3、复制成功后我们需要给赋予权限

chmod +x /etc/init.d/mysql

4、 添加为服务:

chkconfig --add mysql

5、查看服务列表:

chkconfig --list

看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:

chkconfig --level 345 mysqld on

重启计算机:reboot

再次查看服务列表或者查看3306端口号

至此,结束MySQL的安装与测试!

posted @   瑞思拜  阅读(294)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示