美文网首页
Linux(Centos7.4)服务器下安装mysql

Linux(Centos7.4)服务器下安装mysql

作者: 我我我不是明 | 来源:发表于2018-11-03 20:58 被阅读17次

一、先去官网下载mysql  下载地址(https://dev.mysql.com/downloads/mysql/5.7.html#downloads)

下载mysql

点击上图的Download之后进入到下图,选择下图的红色框框后便会开始下载。

二、上传到服务器并解压.

我自己上传到服务器的 /usr/local 这个路径下面.

接下来使用 tar -zxvf mysql-5.7.21-linux-glbc2.12-x86_64.tar.gz 命令解压。

解压命令

解压之后获取到下图的mysql文件。

接下来需要使用 mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql  这个命令将文件夹名字改为mysql (改什么名字可以自己定)

修改文件夹名字

三、接下来进入到mysql文件夹,进行一系列操作

进入mysql文件夹命令 cd /usr/local/mysql

命令:cd /usr/local/mysq

接下来开始操作:

1.添加用户组和用户名

#添加用户组

groupadd mysql

#添加用户mysql 到用户组 mysql

useradd -g mysql mysql

.

2.在/usr/local/mysql文件下面新建data文件夹,以后的数据库文件将放在这里.

新建命令 mkdir data

3.分发权限 命令 chown -R mysql mysql ./

4.初始化mysql 命令: ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

初始化

注意这一步正常有可能会抛错误:

如果出现下面的错误 就需要 命令: yum -y install numactl

yum -y install numactl

然后安装完再重新执行初始化mysql命令就好了。

5.#将mysql/目录下除了data/目录的所有文件,改回root用户所有

命令: chown -R root .

#mysql用户只需作为mysql/data/目录下所有文件的所有者

chwon -R mysql data

6.复制启动文件

命令: cp support-files/mysql.server /etc/init.d/mysqld

再给复制过去的文件分配权限 命令: chmod 755 /etc/init.d/mysqld

再拷贝另外一个文件 命令: cp /usr/local/mysql/bin/my_print_defaults /usr/bin/

7.修改启动脚本 命令: vi /etc/init.d/mysqld

#修改项:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data

port=3306

通过上面的修改启动脚本命令进入下图: 端口加不加都可以,默认就是3306

8.启动mysql服务 命令: service mysqld start 

service mysqld start

注意如果这里启动报错如下图的话,或者报错的话 安装一波mariadb.  命令:yum install  libaio-devel.x86_64

正常的话安装完成后,再启动服务会成功的。再出现其他错误只能百度了。因为我目前就遇到这些错误.

另外如果启动出现我下面这种情况,你可以先进行第9步操作去配置/etc/profile文件,然后再重新启动就正常啦。(我是这么解决的)

9.#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了

#命令vi /etc/profile    将你的mysql的bin目录配上

#配置完成后再通过命令: source /etc/profile 刷新配置

通过vi /etc/profile 命令进入到下图的文件,在文件底部加一行: export PATH=$PATH:/usr/local/mysql/bin

注意:/usr/local/mysql/bin 这个路径是我自己的mysql路径,如果你的mysql装在其它文件夹,就填写对应的路径

四、接下来解决数据库密码的部分,因为正常情况下数据库默认是没密码的。但是总有意外

1.首先命令: mysql -u root -p 进入数据库

然后发现要输入密码,什么都不填写直接空格,还是会说我密码错误.

2.接下来介绍一种比较方便,也比较暴力的修改手法.

先停止掉mysql服务 命令:service mysqld stop

接下来使用命令: mysqld_safe --skip-grant-tables & 启动mysql服务

上面的命令意思是绕过登录进入到mysql。

3.如果你不想使用命令的话,那么你可以停止服务后,去修改/etc/my.cnf文件配置 在[mysqld]的段中加上一句:skip-grant-tables 然后再启动mysql服务也能达到同样的效果

4.接下来通过命令方式启动

然后可以通过ctrl + c出来,然后输入命令:mysql进入到mysql系统,再去修改密码

5.修改密码:先通过命令:use mysql; 表示选择mysql这个库(敲mysql命令别漏了分号)

然后使用命令:update user set authentication_string=password("新密码") where user='root';

注意:mysql5.7.24版本里面密码字段变了,由以前的password编程authentication_string。(这个坑了我好久)

update命令成功后,再输入命令: flush privileges;表示这次更新立即生效

接下来你退出当前启动mysql服务的方式,再重新正常命令:service mysqld start启动服务,再用你修改后的密码登录便能成功登录进去.

但是也有一种可能,你登录的时候会出现以下错误,意思是你的密码过期了.

解决方法:通过之前的绕过登录方式进入到数据库,查询mysql系统表 命令:select * from mysql.user where user = 'root' \G;

你就会发现有这么一个字段password_expired,如果是Y的话那么就是过期的。

可以通过命令: update mysql.user set password_expired='N' where user ='root';

然后刷新:flush privileges;

就可以正常登录了

又或者当你登录进去,你想查看系统表的时候出现以下错误。(意思应该是不是root用户操作不了吧)

解决方法:通过命令: alter user 'root'@'localhost' identified by 'root'; 然后再刷新下就可以了;

五、接下来要远程连接到服务器数据库.

通过命令:grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

然后刷新: flush privileges;

然后打开vi  /etc/my.cnf

将bind-address    = 127.0.0.1

 设置成bind-address    = 0.0.0.0(设备地址)

重新启动(命令如下):

service mysqld stop

service mysql start

就可以通过navicat连接上去啦!

有什么不懂的话就加我的微信吧!18924299091

相关文章

网友评论

      本文标题:Linux(Centos7.4)服务器下安装mysql

      本文链接:https://www.haomeiwen.com/subject/yyclxqtx.html