CentOs7下使用命令安装mysql

原文链接: https://www.jianshu.com/p/225e7c858027

一、检查是否有自带mariadb

CentOS7 一般yum安装包中有自带的mariadb,不过想必大家更喜欢用mysql。
记录一下我在centos7系统上安装mysql5.7的步骤。
1、卸载原系统中的mariadb……

首先执行命令rpm -qa|grep mariadb查看是否有mariadb的安装包,若没有可以无视,直接进入第二,安装mysql 5.7。

rpm -qa|grep mariadb

接下来,执行rpm -e --nodeps mariadb-libs删除它

rpm -e --nodeps mariadb-libs

二、下载mysql 5.7安装包

1、前往官方网站复制yum源链接MySQL官网,或是直接复制我下方命令的也可
在这里插入图片描述
2、执行如下命令下载

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

复制的链接因版本问题会稍有不同,如果你是复制官网的链接,后面几步需要注意自行换一下路径。

执行完后可用ls查看是否成功
在这里插入图片描述
3、进行yum源安装

执行命令

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

我遇到的问题
[root@localhost ~]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm
error: Failed dependencies:
mysql-community-release conflicts with mysql80-community-release-el7-3.noarch

[root@localhost ~]# rpm -e mysql-community-release --nodeps

解决方法
用rpm -e confictcompoent – nodeps解决。如下,根据命令行的报错,把你命令行出现的替换掉“confictcompoent”。

如我的命令是

rpm -e mysql-community-release -- nodeps

在这里插入图片描述
接下来可以通过yum repolist all | grep mysql查看yum源中的mysql安装包

yum repolist all | grep mysql

在这里插入图片描述
4、进行mysql安装

可以看到yum源中默认启用的安装包版本为MySQL8.0,如果需要切换为5.7,需要运行以下命令;

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

注意:yum-config-manager默认使用的是python2版本环境,如果用户使用这个命令时报错,可能是因为当前默认python版本为python3版本。需要在/bin/yum-config-manager文件中修改文件头#!/usr/bin/python -tt为#!/usr/bin/python2 -tt
在这里插入图片描述
接下来可以开始进行安装步骤,执行命令

yum install mysql-community-server

进行安装,需要依赖安装时选择y就ok
在这里插入图片描述
5、 启动mysql服务

执行命令systemctl start mysqld.service来启动mysql服务,systemctl status mysqld.service可查看mysql服务运行状态

systemctl start mysqld.service #启动mysql服务
systemctl status mysqld.service #查看mysql服务状态

在这里插入图片描述
之后输入命令,回车,即可进入数据库

mysql -u root -p

在这里插入图片描述
接下来就可以使用简单命令去创建数据库了
在这里插入图片描述
我根据这篇文章CentOs7成功安装mysql5.7里的做法做到这一步,下面一部分就没有按照文章的做了,根据自己实际情况需要,可以继续往下做。童鞋们也可以跟着我做到这一步,然后直接跳到三、授权远程登录mysql,我的需求是希望通过本地连接虚拟机里安装的mysql数据库,如果你有需要就拉到后面看看吧

\color{red}{\heartsuit}

MySQL服务器初始化(从MySQL 5.7开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

  • 服务器已初始化。
  • 在数据目录中生成SSL证书和密钥文件。
  • validate_password插件安装并启用。
  • 将’root’@‘localhost’ 创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:
grep 'temporary password' /var/log/mysqld.log

通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码

mysql -u root -p

输入你设置的临时密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '您的密码';

注意
MySQL的validate_password插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
如果您需要修改简单密码,可以依次执行以下操作步骤:

set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;

– 然后进行密码更改

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

这时候MySQL基本上就配置完成了

查看数据库初始密码密码:grep ‘temporary password’ /var/log/mysqld.log
登录:mysql -uroot -p
输入你自己的密码

进入数据库修改密码步骤:
step 1:SET PASSWORD = PASSWORD(‘your new password’);
step 2:ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
step 3:flush privileges;

最好重启一下数据库

systemctl restart mysqld.service

如果你希望启动centos系统时,同时启动mysql可以执行这个命令,开机自启动。

chkconfig mysql on

\color{red}{\heartsuit}

三、授权远程登录mysql

以下部分是介绍授权远程登录,以Navicat工具为主

给mysql创建远程登录账户admin

使用mysql数据库(真正的数据库,而非数据库软件),将所有数据库的所有表(.)的所有权限(all privileges),授予通过任何ip(%)访问的admin用户,密码为admin,最后刷新(flush privileges)即可。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

mysql> flush privileges; #刷新数据库

在这里插入图片描述
mysql> GRANT ALL PRIVILEGES ON . TO ‘admin’@’%’ IDENTIFIED BY ‘admin’ WHIT GRANT OPTION;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘WHIT GRANT OPTION’ at line 1
好吧,我写错了一个字符with┭┮﹏┭┮

注意:在执行mysql命令时,要带分号“;”,分号为命令结束的标识。

修改mysql的字符集

cp -rf /usr/share/mysql/my-medium.cnf /etc/my.cnf

这里可能会出现报错,no such files or directory的错误,这时你要进去/usr/share/mysql/查看该目录下是否存在my-medium.cnf文件,我的就没有,但是我的etc/目录下有my.cnf文件,于是我直接vi编辑该文件
修改my.cnf文件。

在该文件末尾加上字符的编码标识符,设置如下
进入linux终端输入下面代码进入vi编辑器
vi /etc/my.cnf
然后按i进入编辑状态,按照以下规则修改文件

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

修改好后退出,需要重启mysql

service mysql restart
或
systemctl restart mysqld.service

查看字符集,终端再次进入mysql,输入

mysql> show variables like 'character%';

如果字符集显示为utf-8,即表示修改成功。
在这里插入图片描述
因为系统之间的默认字符集不一样

之后在mac电脑的Navicat远程连接,填上主机、端口号、你设置的用户名和密码。可以发现连接成功啦~~

不知道主机的可通过ifconfig命令查看。如果遇到连接不成功,很可能是需要关闭centos的防火墙,怎么关闭请看这篇☞centos7用命令关闭防火墙

在这里插入图片描述
测试环境搭建篇,mysql的安装配置就到此啦~

猜你喜欢

转载自blog.csdn.net/weixin_41948075/article/details/102219620