文档章节

centos 6.5 安装 mysql 5.7

街角的小丑
 街角的小丑
发布于 2017/04/13 10:17
字数 1463
阅读 19
收藏 0

前言

    不能说是工作需要吧,算是自己玩玩,打算在服务器上安装jira的东西,所以就折腾了下。

    首先服务器来源,阿里云有6个月的免费试用期,是时候用在刀刃上了!建议像我一样没有服务器经验的人都尝试下,了解下运维的一部分工作。

JDK安装

    首先是JAVA的环境配置,这个没啥技术含量,直接wget去下载jdK对应的包。怎么下载?

    wget http://.............

    至于地址在哪里,自己电脑上下载一下,然后拿到链接地址就行了。

    这里我下载的是tar.gz的包,下载完成之后只需要放入/usr/local文件夹中,然后解压

    tar -zvxf jdk-xxxxx.tar.gz 

    于是你得到一个文件夹,你可以给文件夹重命名,这个随你喽……

    最后配置一个环境变量什么的,不会自己去查吧!

Tomcat 安装

    tomcat的安装也是如法炮制,通过wget下载tomcat的tar.gz包,同样拷贝到/usr/local中,解压。

    然后运行 /usr/local/tomcat/bin/startup.sh 类似命令启动tomcat,尝试下在本地电脑通过服务器ip的8080端口访问。有可能会遇上防火墙啊,端口占用啊这些问题,我没遇到,所以我不管……遇到再说喽。

Mysql 安装

    难点出现了,本来以为mysql安装和上面一样,也是so easy的感觉,但是实际操作过程中发现我还是太年轻了。

    首先当然是下载mysql的安装包了,同样是通过wget下载。再然后还是拷贝到/usr/local,解压。不过需要注意,这里需要重命名成mysql文件夹(很多默认配置使用了这个路径,我又没工夫去查怎么改默认配置,所以就跟着来了)。

    然后打开如下网址https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

    这是官方教程,很厉害的!

    首先安装libaio库

yum install libaio

    发现服务器已经安装了,并且最新版本,nice啊!然后就是根据如下命令运行了

#创建mysql 用户组和mysql用户
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql #进入mysql,创建了一个mysql-files的文件夹,并且修改了mysql的权限,把文件归属于mysql:mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql . #下面就很重要了,我们安装的是5.7.6,所以第一句不要运行,不要运行,不要运行
#shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
运行mysqld_safe,
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
#运行 server
shell> support-files/mysql.server start

    好哒,然后就去登录mysql开心的操作吧。

    bin/mysql -u root -p  (用root账户链接mysql数据库) 

    提示输入密码,what?密码是啥,我们没设置过吧? 那就默认为空

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    密码错误,123456,密码错误……………………为什么和想象的不一样,查阅资料,说是有个文件记录了第一次登陆的默认密码,如下:

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# cat /root/.mysql_secret 

# Password set for user 'root@localhost' at 2017-04-12 09:15:01 

/LfLlosMo&Kt

    好的,密码有了,输入!但是我还是太天真了,大部分情况应该是ok的,但是我这边可能之前错误运行还是怎么滴,就是验证不通过,mmp!怎么办,登陆不了数据库干鸟?只能绕过密码了,方法看下面。

    首先停止掉mysql的服务

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# support-files/mysql.server stop

然后使用跳过权限的方式启动数据库

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# bin/mysqld_safe --user=mysql --skip-grant-tables &

mysqld_safe安全进程之后加上参数 --skip-grant-tables

调用如下命令登陆mysql

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# bin/mysql -u root mysql

...

mysql>

登陆成功,修改密码还不是美滋滋~

mysql> SET Password=PASSWORD('newpassword');

但是提示

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

什么情况啊?又是个坑,查一查,发现调用如下命令后解决问题

mysql> FLUSH PRIVILEGES;  //这是用来刷新生效权限的。

很好,可以运行了。然后再去运行修改密码命令

mysql> SET Password=PASSWORD('newpassword');

ERROR 1133 (42000): Can't find any matching row in the user table

    还让不让人活了?还是错误,和网上说的简单不一样啊,你们真的认真尝试了么……

    在user表中没有找到列……那就看看user表中有哪些列吧,调用

mysql> select * from mysql.user

| Host      | User      | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | password_last_changed | password_lifetime | account_locked |

.....

出来很多列,其中authentication_string字段是用来标识密码的,那么理论上修改该字段就能够修改密码,好的,拿起键盘就是干!

mysql> update user set authentication_string = password("123456") where user="root"

设置成123456,成功,在此调用

mysql> FLUSH PRIVILEGES;

成功。

然后就是退出数据库,停止数据库服务

 support-files/mysql.server stop

因为现在是处于跳过权限的模式下运行的,我们需要重新设置回来:

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# bin/mysqld_safe --user=mysql &

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# support-files/mysql.server start

再调用

bin/mysql -u root -p

输入123456,登陆成功,但是你依然无法进行其他操作,你需要先修改密码!!

mysql> SET PASSWORD = PASSWORD('123456');

mysql> flush privileges;

OK至此密码也正式修改完成。我们在查看user表的时候发现,root账号的host为local,如果我们想外网链接该账号,那么就需要修改host

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

修改成功,重启mysql服务

[root@iZuf69q6pk0vy6eyfzs8zzZ mysql]# support-files/mysql.server restart

然后你就能在本机上使用navicat开心得管理远程数据库了。

 

 

© 著作权归作者所有

街角的小丑
粉丝 9
博文 119
码字总数 219831
作品 0
杭州
私信 提问
mysql5.7未生成初始密码.mysql_secert文件,登陆数据库

今天在CentOS 6.5上安装mysql5.7时遇到一个问题,没有初始化密码。 在mysql5.7之前的版本首次登陆是无需密码的,但是5.7起会生成一个初始化密码/root/.mysql_secert cat /root/.mysql_secert...

aolens
2016/11/21
0
0
centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解

centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解 centos环境安装mysql5.7 其实不建议安装mysql5.7 语法和配置可能和以前的版本区别较大,多坑,慎入 1.yum方式安装(不推荐) a.安装...

Mr_sheng
2017/12/02
0
0
centos 6.5 yum安装 mysql 5.6

最近切换到很久不用的centos还略有不适应,默认yum只能安装mysql 5.1,需要升级又不想编译。于是有了此文。 具体文档地址: 1. http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-...

NILYANG
2015/12/11
23.9K
3
centos 6.5 x64安装mysql 5.7

下载mysql 5.7最新版本 在编译之前,确保已经安装了epel更新源 安装了编译环境 yum groupinstall -y "Development tools" mysql 5.7编译cmake要求版本最低为2.8 升级cmake yum -y install nc...

xiao987334176
2018/06/26
0
0
使用Flask结合python实现多台服务的内存监控

使用Flask结合python实现多台服务的内存监控 简介:使用flask结合python可以很好的实现服务资源的监控,而且Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkze...

听雨x
2017/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CQRS与AXON

CQRS 看了蛮多文章,只会CRUD,却不懂CQRS,CQRS是遵循DDD思想而产生的一种模式,Command and Query Responsibility Segregation 命令与查询隔离。查询就直接通过正常的模式service调dao层。...

无极之岚
41分钟前
5
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
56分钟前
173
9
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
9
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部