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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

下载mysql

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

解压命令

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改文件夹名字

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

命令:cd /usr/local/mysq

接下来开始操作:

1.添加用户组和用户名

#添加用户组

groupadd mysql

#添加用户mysql 到用户组 mysql

useradd -r -g mysql mysql

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

.

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

新建命令 mkdir data

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

chmod -R 755 ./

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

初始化

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

yum -y install numactl

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

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

命令: chown -R root .

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

chown -R mysql data

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

6.复制启动文件

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

#修改项:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data

port=3306

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

service mysqld start

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

8.2、错误2

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

错误2

解决方法: 我们进入到/var/log目录下手动创建一个目录mariadb,然后再进入mariadb目录下手动创建mariadb.log文件

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

8.3、错误3

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

错误3

解决方法:到/var/lib目录下创建出mysql目录

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

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

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

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

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

然后刷新:flush privileges;

就可以正常登录了

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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

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

然后刷新: flush privileges;

803c49f4eb5c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

然后打开vi  /etc/my.cnf

将bind-address    = 127.0.0.1

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

重新启动(命令如下):

service mysqld stop

service mysql start

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值