MySQL数据库之linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决
小标 2018-09-12 来源 : 阅读 1231 评论 0

摘要:本文主要向大家介绍了MySQL数据库之linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之linux 安装mysql 5.7.21详解以及安装过程中所遇问题解决 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

在安装过程中所遇到的问题有:
1、my-default.cnf文件找不到
2、mysql启动报错
3、mysql临时密码无法登录
安装环境centos 6.0
下载数据库:
[root@CLanguage src]# pwd
/usr/local/src #下载文件存放路径(个人原因,可随意。)
[root@CLanguage src]#
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
[root@CLanguage src]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz #解压
[root@CLanguage src]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql 
#更改文件名
卸载旧版本:
[root@CLanguage src]# rpm -qa |grep mysql
mysql-5.1.47-4.el6.x86_64
mysql-libs-5.1.47-4.el6.x86_64
mysql-devel-5.1.47-4.el6.x86_64
[root@CLanguage src]# rpm -e --nodeps mysql-5.1.47-4.el6.x86_64
[root@CLanguage src]# rpm -e --nodeps mysql-libs-5.1.47-4.el6.x86_64
[root@CLanguage src]# rpm -e --nodeps mysql-devel-5.1.47-4.el6.x86_64
[root@CLanguage src]# rpm -qa |grep mysql
[root@CLanguage src]#
技术分享图片
创建数据库目录以及用户和组:
[root@CLanguage src]#mkdir /data
[root@CLanguage src]#mkdir /data/mysqldata #数据存放目录
[root@CLanguage src]#groupadd mysql #创建mysql组
[root@CLanguage src]#useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/src/mysql #添加mysql用户使其shell模式为nologin(禁止登录),
[root@CLanguage mysql]# chown -R mysql .
[root@CLanguage mysql]# chgrp -R mysql .
[root@CLanguage mysql]#chown -R mysq /data/mysqldata
安装前先安装numactl组件,或者会报错:bin/mysqld: error while loading shared libraries: libnuma.so.1
[root@CLanguage mysql]# yum -y install numactl 
(可以使用本地CD yum源进行安装,前提是搭建好后。)
配置参数:
[root@CLanguage src]# cd mysql
[root@CLanguage mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/data/mysqldata/ #配置参数
2018-01-31T08:41:32.144065Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-01-31T08:41:34.501273Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-01-31T08:41:34.943351Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-01-31T08:41:35.016168Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 8b673fc1-0662-11e8-a70a-000c298536ba.
2018-01-31T08:41:35.021358Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed‘ cannot be opened.
2018-01-31T08:41:35.025019Z 1 [Note] A temporary password is generated for root@localhost: dhaMrqAVZ5-C {最后的root@localhost:后面为临时密码(在我安装过程中感觉没有,登录不了。)}
--basedir=/usr/local/src/mysql #mysql文件所在目录
--datadir=/data/mysqldata/ #数据库存放目录
技术分享图片
[root@CLanguage mysql]# bin/mysql_ssl_rsa_setup --datadir=/data/mysqldata/
#配置参数
技术分享图片
修改系统配置文件:
技术分享图片
在support-files目录未发现my-default.cnf文件,所以只能手动创建了。
[root@CLanguage support-files]# vim /etc/my.cnf (创建my.cnf,将以下代码复制进去,记得下面几个目录需要自己手动修改为自己定义的目录)

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
character_set_server=utf8
init_connect=‘SET NAMES utf8‘
basedir=/usr/local/src/mysql #文件存放目录
datadir=/data/mysqldata/ #数据库存放目录
socket=/usr/local/src/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000

default-time_zone = ‘+8:00‘
技术分享图片
[root@CLanguage support-files]# cp mysql.server /etc/init.d/mysql
[root@CLanguage support-files]# vim /etc/init.d/mysql
修改/etc/init.d/mysqld在basedir和datadir后填入文件存放路径和数据存放路径
技术分享图片
启动mysql:
[root@CLanguage mysql]# bin/mysqld_safe --user=mysql & #检测
技术分享图片
[root@CLanguage run]# /etc/init.d/mysql start (这里会报错,因为找不到mysqld文件夹,所以要创建并赋予权限。)
技术分享图片
技术分享图片
[root@CLanguage mysql]# cd /var/run/
[root@CLanguage run]# mkdir mysqld
[root@CLanguage run]# chown -R mysql mysqld
[root@CLanguage run]# chgrp -R mysql mysqld
[root@CLanguage run]# /etc/init.d/mysql start
Starting MySQL... [ OK ]
技术分享图片
登录mysql已经修改密码:
由于试过使用mysql临时密码无法登录,所以以下直接进入配置.
修改/etc/my.cnf文件
在[mysqld]下面添加“skip-grant-tables”
技术分享图片
(skip-grant-tables命令为跳过验证,直接登录。个人认为好比linux的单用户模式,来进行mysql的密码修改。)
重启mysql
技术分享图片
在命令行中输入mysql进行登录
技术分享图片
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

mysql> USE mysql; #选择数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set authentication_string=password(‘123abc‘) where user=‘root‘;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1

mysql> flush privileges; #刷新权限
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye
重新登录mysql
[root@CLanguage run]#mysql -uroot -p123abc
技术分享图片
最后一步注销my.cnf中的“skip-grant-tables”    

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程