布署mysql5.7.25。

1.免费下载rpm安装包。2.上传入网络服务器并缓解压力。3.卸载掉之前的版本号。4.按序安裝:

rpm-IVH MySQL-community-community-5 . 7 . 25-1 . El 7 . x86 _ 64 . rpmrpm-IVH MySQL-community-libs-5 . 7 . 25-1 . El 7 . x86 _ 64 . rpmrpm-IVH MySQL-community-devl-5 . 7 . 25-1 . El 7 . x86 _ 64 . rpmrpm-IVH MySQL-community-client-5 . 7 . 25-1 . El 7 . x86 _ 64 . rpmrpm-IVH MySQL-community-client-5 . 7 . x86 _ 64 . rpmrpm

5.改动环境变量,不用登陆密码就可以登陆。

vi /etc/my.cnf

[mysqld]#下加上skip-grant-tables=1 #无需认证,不用登陆密码登录

6.将默认设置字段名改动为utf8。

vi /etc/my.cnf

[mysqld]#下加上character-set-server=utf8collation-server=utf8_general_ci[mysql]#下加上default-character-set=utf8

7.运行mysql。

systemctl运行mysqld

8.查验是不是汇报了运行不正确。

systemctl情况mysqld

9.登陆mysql,默认设置状况下早已建立了下列四个库。与此同时,在my.cnf中安装的datadir的特定文件中有下列四个库的文件夹名称..

mysql安装包安装步骤-mysql安装教程详细教程-第1张图片10.修改密码。

mysql >应用mysqlmysql >升级客户setmysql > authentication _ string = password(' 123456 '),mysql>password_expired='N ',password _ last _ changed = now()MySQL >在其中user = ' rootmysql >更新管理权限;mysql >变更由“123456”标志的客户“root ”@“localhost”;mysql >更新管理权限;mysql >撤出;与此同时,my.cnf删掉主要参数skip-grant-tables=1,并重启mysql:systemctl重启mysqld。

11.检测它是不是可以用。

表明数据库查询;–出自于安全性缘故–p无登陆密码。

12.应用服务器“%”配备别的服务器能够浏览的新用户:

建立由“readonly”标志的客户readonly @ %授于挑选打开。to readonly @ %;

13.确定互联网连接性的条件下,打开防火墙端口号。

服务器防火墙-cmd-地区=公共性-加上-端口号= 3306/TCP-永久性

14.重新启动服务器防火墙。

服务器防火墙-cmd-重新加载

卸载掉mysql5.7.25。

1.卸载程序:因为相互依赖,必须按下列次序卸载掉。

rpm-e MySQL-community-server-5 . 7 . 25-1 . El 7 . x86 _ 64 rpm-e MySQL-community-dev-5 . 7 . 25-1 . El 7 . x86 _ 64 rpm-e MySQL-community-client-5 . 7 . 25-1 . El 7 . x86 _ 64 rpm-e MySQL-community-libs-5 . 7 . 25-1 . El 7 . x86 _ 64

2.消除剩下的新项目。

是MySQL RM-RF的有关文档。

3.删掉环境变量。

rm -rf /etc/my.cnf*

4.删掉默认设置的datadir途径。

RM–RF/var/lib/MySQL

5.查验多余的配备:(该实际操作沒有如下所示結果)。

chkconfig–list | grep-I MySQL chkconfig–del MySQL

难题赏析

1.关掉selinux会汇报一个不正确:

2019-03-12T17:28:58.770891Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation.2019-03-12T17:28:58.770912Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.2019-03-12T17:28:58.770918Z 0 [ERROR] InnoDB: os_file_get_status() failed on './ibdata1'. Can't determine file permissions2019-03-12T17:28:58.770928Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error2019-03-12T17:28:59.371503Z 0 [ERROR] Plugin 'InnoDB' init function returned error.2019-03-12T17:28:59.371548Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.2019-03-12T17:28:59.371556Z 0 [ERROR] Failed to initialize builtin plugins.2019-03-12T17:28:59.371560Z 0 [ERROR] Aborting

解决方案:查验selinux情况:getenforce。关掉selinux:setenforce 0。2.修改密码后,show databases汇报了一个不正确。

MySQL > Update MySQL . user set authentication _ string = password(' * * * '),在其中user = ' rootmysql >更新管理权限;

这时浏览一切正常。撤出mysql,环境变量my.cnf删掉主要参数skip-grant-tables=1,重启mysql应用登陆密码再次登陆。登陆后实行命令:

表明数据库查询;

不正确1820 (hy000):在中国实行以前,务必应用alter user句子密码重置。解决方案:

mysql >变更由“***”标志的客户“root ”@“localhost ”;mysql >更新管理权限;mysql >表明数据库查询;

3.sql_mode主要参数鉴赏。

my.cnf增加配备信息内容sql_mode=;重新启动mysql。ONLY_FULL_GROUP_BY:发生在select句子.HAVING标准和ORDER BY句子中的列,务必是GROUP BY的列或是取决于GROUP BY列的涵数列。NO_AUTO_VALUE_ON_ZERO:该值危害自提高列的插进。默认下,插进0或NULL意味着转化成下一个自提高值。假如客户期待插进的数值0,而该列也是自提高的,那麼这一选择项就有价值了。STRICT_TRANS_TABLES:在该方式下,假如一个值不可以插进到一个事务管理表格中,则终断当今的实际操作,对非事务管理表不做限定NO_ZERO_IN_DATE:这一方式危害了是不是容许日其中的月份和日包括0。假如打开此方式,2016-01-00是不允许的,可是0000-02-01是容许的。它具体的个人行为遭受 strict mode是不是打开的危害1。NO_ZERO_DATE:设定该值,mysql数据库查询不允许插进零日期。它具体的个人行为遭受 strictmode是不是打开的危害2。ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE全过程中,假如数据信息被零除,则造成不正确并非警示。假如未得出该方式,那麼数据信息被零除时MySQL回到NULLNO_AUTO_CREATE_USER:严禁GRANT建立登陆密码为空的客户NO_ENGINE_SUBSTITUTION:假如必须的储存模块被禁止使用或未编译程序,那麼抛出去不正确。不设定此值时,用默认设置的储存模块取代,并抛出去一个出现异常PIPES_AS_CONCAT:将”||”视作字符串数组的联接运算符并非或操作符,这和Oracle数据库查询是一样的,也和字符串数组的拼凑涵数Concat相相近ANSI_QUOTES:开启ANSI_QUOTES后,不能用引号来检索字符串数组,因为它被表述为鉴别符

评论(0条)

刀客源码 游客评论