CentOS_7.8 下安装mysql5.7.30(Mysql5.7的最后封板版本)

准备
        一台装有centos7.8的电脑(或虚拟机),mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar  mysql的rpm安装集合包

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

CentOS_7.8 下安装mysql5.7.30(Mysql5.7的最后封板版本)_第1张图片

 

一、安装环境
 

        我们先把下载的mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar 上传到我们的centos系统中,这里我是放到了 /opt 文件夹中

     然后我们建立一个新的,用于盛放tar文件释放后文件的文件夹:

cd /opt
mkdir mysql


然后运行解压命令:

tar -xf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar -C mysql


这时,我们再到mysql的目录下就可以看到解压出来的rpm包,大概有10 几个以.rpm 格式结尾的文件。

资源都准备好了,现在我们来看一下环境:

    由于CentOs7之后会在系统中自带一个免费的数据库:mariadb,并且它的驱动和mysql的驱动是有冲突的,所以我们必须先要卸载他。

   首先用rpm命令查看一下是否有mariadb,然后再删除:

rpm -qa | grep -i mariadb


查询命令执行后,如果下方列出了类似这种文件   

mariadb-libs-5.5.52-1.el7.x86_64

则需要我们用rpm命令删除这个版本的mariadb:

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64


这个名字在不同版本的系统上可能不一样,大家需要注意。

如果是centos7之前的版本的话,可能会自带mysql,这是我们需要按照上述步骤删除mysql,这里不再赘述。

由于mysql的server端需要perl语言的支持,因此我们还需要在系统中安装perl支持:

yum install perl -y

 

二、安装
 

        由于我们上面解压出来的几个rpm包有依赖关系,所以我们需要 按照顺序  执行安装:

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm


这几个包的安装完成之后,我们的数据库也就安装完成了,有几个需要注意的地方:

数据库目录:/var/lib/mysql/
命令配置:/usr/share/mysql  (mysql.server命令及配置文件)
相关命令:/usr/bin   (mysqladmin mysqldump等命令)
启动脚本:/etc/rc.d/init.d/   (启动脚本文件mysql的目录)
系统配置:/etc/my.conf
 

三、运行-初始化
 

        安装完成了,我们需要先把mysql运行起来,这样我们才能进行接下来的配置。

ps.强烈建议在root用户环境下进行初始化配置,方便用户和密码的创建。

        现在我们可以先看一下 /var/lib/mysql/  目录下是否有东西,我们可以发现这个目录下是没有东西的,或者是连mysql这个目录都没有,也就是说数据库还没有初始化。现在我们来配置mysql的启动,个人比较推荐使用服务的方式启动(centos7特有):

systemctl start mysqld.service


 这样就把mysqld这个服务添加到系统中了,我们可以用service进行启动了,启动,停止,重启的命令如下:

启动的 3 种方式:

service mysqld start       ###  使用 service 启动:
/etc/inint.d/mysqld start  ###  使用 mysqld 脚本启动:
safe_mysqld&               ###  使用 safe_mysqld 启动:


停止的 3 种方式:

service mysqld stop        ###  使用 service 停止:
/etc/inint.d/mysqld stop   ###  使用 mysqld 脚本停止:
mysqladmin shutdown        ### 


重启:

service mysqld restart        ###  使用 service 重启:
/etc/inint.d/mysqld restart   ###  


我们在启动了mysql之后,这个时候等待一段时间,数据库需要进行初始化,这个时候我们可以看一下数据库的日志,会发现mysql帮我们初始化了一个root用户,以及一个临时登录密码 :

cat /var/log/mysqld.log

CentOS_7.8 下安装mysql5.7.30(Mysql5.7的最后封板版本)_第2张图片
由于服务已经启动了,所以可以用root和这个密码登陆了:

mysql -u root -p 


password 输入上图中,红框圈出的自动生成的密码,完成登录。

注意:以下的命令操作均是在已经登录mysql 后,在mysql命令行操作的: 

修改密码:

set password = password('123456');

由于我们设置的密码过于简单,所以Mysql 会提示失败,具体提示如下:

Your password does not satisfy the current policy requirements.

原来,MySQL5.6.6 版本后增加了密码强度验证插件validate_password,相关参数设置的较为严格,我们可以降低它的密码验证强度从而可以设置任意密码。

执行以下命令修改mysql全局参数配置

set global validate_password_policy=0; 设置密码强度检查等级

set global validate_password_length=3; 设置密码最低强度

set global validate_password_mixed_case_count=0;  

set global validate_password_number_count=3;  

执行成功了然后修改密码没有问题了

SET PASSWORD = PASSWORD('123456');

不过,如果是为了安全起见,可以设置符合安全规则的密码,这样更好。
 

设置外部远程访问权限:

grant all privileges on *.* to 'root' @'%' identified by '123456'; 
flush privileges;

注意:此时,可以退出mysql 下的命令行了: 

exit;

##或者

quit;


 开放端口:     

         这里设置完之后,就可以在其他局域网内电脑上用Navicat连接一下看看能不能连接了,如果遇到带有数字的报错(非denind)的话,可以尝试开启防火墙的端口限制:

#开启3306端口

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


#刷新防火墙

firewall-cmd --reload  

 

设置开机启动:

chkconfig mysqld on

注意:后续使用中发现,很多代码提示,数据库表不存在。但是在数据库工具中查看,是可以看到的表是有的。这是的考虑的是。数据库表名 大小写的敏感的问题。以防万一,将数据库设置成 大小写不敏感,就正常了。

具体的方法如下:

1.windows下

到安装mysql的目录,修改my.ini文件

在文件最后一行加上下面一句话

lower_case_table_names=1

lower_case_table_names = 1
说明 0:区分大小写,1:不区分大小写

效果如下

复制代码

[mysqld]  
port = 3306  
basedir=F:/mysql-5.7.21-winx64
datadir=F:/mysql-5.7.21-winx64/data
max_connections=200  
character-set-server=utf8  
default-storage-engine=INNODB  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
[mysql]  
default-character-set=utf8  
lower_case_table_names=1

复制代码

重启mysql

2.linux下

进入etc下面

cd /etc/

编辑my.cnf文件

vi my.cnf

最后一行加上下面一句

lower_case_table_names=1

效果如下

复制代码

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1

至此,我们的mysql数据库就已经安装完成,并能随系统启动和外部访问了。

你可能感兴趣的:(mysql,运维,centos)