阿里云Centos 7上面安装mysql教程
1 软件的基本安装过程
1 卸载已有的mysql
1.查看系统是否安装了mysql软件
- rpm -qa|grep -i mysql
2.将已经安装过的软件卸载掉。注意:这样的卸载是不彻底,不过这里够用了。
- yum remove '软件名'
2 准备mysql的repo
源
总结代码:
- wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpmrpm -ivh mysql57-community-release-el7-7.noarch.rpm
==============补充start================
解释:wget默认会以最后一个符合 /
的后面的字符来命令
例如:wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm下载完成的名字就是mysql57-community-release-el7-7.noarch.rpm
可以自己改变下载后的文件名:命名为
- wget -O mysql.rpm http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
==============补充end=================
CentOS 7
的yum
源中默认是没有mysql
的。所以,为了解决这个问题我们首先下载安装mysql
的repo
源。
- wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
- rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安装之后会获得/etc/yum.repos.d/mysql-community.repo
和/etc/yum.repos.d/mysql-community-source.repo
两个源,可以去相应的路径下查看一下。
3 安装mysql
使用代码总结:
- yum install mysql-serveryum install mysql-develyum install mysql
rpm -qa | grep -i mysql
1.安装mysql-server
- yum install mysql-server
2 安装mysql-devel
- yum install mysql-devel
3.安装mysql
- yum install mysql
安装完成之后重新检查一下安装了的mysql
软件。
- rpm -qa|grep -i mysql
一般来说,只要安装mysql-server跟mysql-client 。
2 服务开关操作
- service mysqld status 查看mysql当前的状态service mysqld stop 停止mysqlservice mysqld restart 重启mysqlservice mysqld start 启动mysql
3 将MySQL加入开机启动
- systemctl enable mysqld
4 启动mysql服务进程
- systemctl start mysqld
或者使用下面的代码:都是启动mysql服务,效果一样。
- # service mysqld start 启动mysql
5 无法登录问题解决
登录root
帐号需要密码,不过我们没有。
下面是这个问题的详细解决过程
1 修改配置文件,跳过用户验证
1.在/etc/my.cnf
文件中添加skip-grant-tables。这里注意一下:我的skip-grant-tables放到了文件最后。
skip-grant-tables:的作用就是跳过了mysql的用户验证
然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库;
2.重启mysql
,service mysqld restart
重启之后我们直接输入mysql即可进入mysql数据库,因为我们已经跳过了mysql数据库的用户验证。
3.使用mysql数据库
使用命令:use mysql;
4.show tables查看所有表
会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息
- mysql> show tables;
- +---------------------------+
- | Tables_in_mysql |
- +---------------------------+
- | columns_priv |
- | db |
- | engine_cost |
- | event |
- | func |
- | general_log |
- | gtid_executed |
- | help_category |
- | help_keyword |
- | help_relation |
- | help_topic |
- | innodb_index_stats |
- | innodb_table_stats |
- | ndb_binlog_index |
- | plugin |
- | proc |
- | procs_priv |
- | proxies_priv |
- | server_cost |
- | servers |
- | slave_master_info |
- | slave_relay_log_info |
- | slave_worker_info |
- | slow_log |
- | tables_priv |
- | time_zone |
- | time_zone_leap_second |
- | time_zone_name |
- | time_zone_transition |
- | time_zone_transition_type |
- | user |
- +---------------------------+
- 31 rows in set (0.00 sec)
5.查看账户信息
执行下面的命令,可以查看用户的账户信息。
- select user,authentication_string from user;
从这里我们可以看到mysql数据库中的密码是加密的,不可逆的。一旦忘记了就找不回来了的。
6.修改root用户的密码
我们可以执行下面的命令修改root用户的密码:
- update mysql.user set authentication_string=password('your password') where user='root';
7.修改密码之后,删除所有权限
- flush privileges;
8.退出数据库
- exit
9.恢复/etc/my.cnf文件
恢复/etc/my.cnf
,将skip-grant-tables
删除或者注释掉。
10.重启mysql
,service mysqld restart
- service mysqld restart
到此为止我们就解决了mysql安装之后登录不知道密码的问题。现在一切都正常了。
11.验证一下是否成功解决了登录问题
- rpm -qa|grep -i mysql
可以看到已经完美的解决了。一路下来还真不容易啊。
解决登录问题中的代码整理:
- vim /etc/my.cnf //修改配置
- skip-grant-tables 加入到my.cnf 文件的最后
- service mysqld restart //修改配置后重启mysql服务
- mysql //跳过用户验证后,直接就能登录
- mysql> use mysql; //切换数据库
- mysql> show tables; //查看所有表
- mysql> select user,authentication_string from user; //查看权限信息
- mysql> update mysql.user set authentication_string=password('your password') where user='root'; //修改密码
- mysql> flush privileges; //刷新让修改生效
- mysql> exit //退出mysql
- [root@iz2ze6adlpez0gy7j13vrmz ~]# vim /etc/my.cnf //还原my.cnf文件配置,去掉最后的skip-grant-tables
- [root@iz2ze6adlpez0gy7j13vrmz ~]# cat /etc/my.cnf //查看是否还原成功
- [root@iz2ze6adlpez0gy7j13vrmz ~]# service mysqld restart //重启mysql服务
- [root@iz2ze6adlpez0gy7j13vrmz ~]# mysql -uroot -proot //使用修改的密码登录
6.重置密码问题
下面顺便讲解一下这个问题:
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个错误:
You must reset your password using ALTER USER statement before executing this statement
处理步骤为:依次执行下面三条代码。
- SET PASSWORD = PASSWORD('your new password');
- ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
- flush privileges;
这里要注意的是your new password 必须包含数字,字母包含大小写,标点符号。不然好像是不能通过的。
完成以上三步退出再登,使用新设置的密码就行了,以上除了 your new password 需要修改成新密码外,其他原样输入即可。
7.解决远程客户端无法连接MySQL数据库
现在我们想要在本地,远程访问我们阿里云服务器上的mysql数据库。我使用的是navicat 软件,但是发现一直连接不上。
出现这个问题的原因是因为:我的实例是专有网络类型。要想能够远程访问,需要对外开放MySQL的端口3306.
下面演示如何对外开放3306端口。
配置完成之后,我再次去尝试远程连接MySQL数据库。
不幸的是,这次还是失败了:这次报的错误如下:
错误代码是1130: -Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
首先我想的应该是数据的权限不足的问题;
通过查阅资料发现了这篇文章:解决远程连接mysql错误1130的方法https://www.aliyun.com/jiaocheng/136440.html
解决方法如下:
具体说就是:在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。
- mysql -u root -p
- mysql>use mysql;
- mysql>select host,user from user;
- mysql>update user set host = '%' where user ='root';
- mysql>flush privileges;
- mysql>select host,user from user;
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。service mysqld restart。
实际开发中:我们更多的还是推荐创建用户,然后使用创建的用户连接数据库。 root用户的权限太大了。
通过上面的处理我们再一次来尝试远程连接mysql数据库
到此MySQL数据库在阿里云esc centos 7 上的安装就算是大功告成了。
8.补充知识点
1 一些常用的命令
1 检查MySQL是否已经安装
- yum list installed | grep mysql
2 已经安装使用yum方式卸载
- yum -y remove mysql-libs.x86_64
3 下载 MySQL Yum Repository
- wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
4 添加 MySQL Yum Repository 到你的系统 repository 列表中
- yum localinstall mysql-community-release-el7-5.noarch.rpm
5 验证下是否成功添加到了你的系统repository 列表中
- yum repolist enabled | grep "mysql.*-community.*"
6 查看MySQL版本
- yum repolist all | grep mysql
7.查看当前的启动的 MySQL 版本
- yum repolist enabled | grep mysql
8 通过yum来安装MySQL
- yum install mysql-community-server
9.查看MySQL 的安装目录
- whereis mysql
10.启动MySQL服务
- systemctl start mysqld 或者 service mysqld start
11.关闭MySQL服务
- systemctl stop mysqld 或者 service mysqld stop
12.查看MySQL服务状态
- systemctl status mysqld 或者 service mysqld status
13.重启MySQL服务
- service mysqld restart
14.使用命令 pidof mysqld 命令来查看mysql 的启动状态如图所示:如果显示PID说明程序启动,不显示PID即为程序没有启动。
- pidof mysqld
阿里云Centos 7上面安装mysql教程的更多相关文章
- 阿里云,CentOS下yum安装mysql,jdk,tomcat
首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...
- 阿里云centos 7上面安装mysql5.7的详细步骤!!!
前言: 网上太多的linux 的安装mysql教程,很多教程不全或者因为环境不一致导致无法成功安装,以下是亲测的可行性的方法,请参考. 步骤: Centos7操作系统YUM库列表里默认不再提供MySQ ...
- 在阿里云Linux服务器上安装MySQL
申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:5 ...
- 阿里云服务器CentOS6.9安装Mysql
上篇讲了CentOS6.9安装tomcat,这篇来讲mysql的安装 1.查看CentOS是否安装了MySQL yum list installed | grep mysql //查看CentOS是否 ...
- [Linux] - 阿里云CentOS 6.5 安装Docker
因为阿里云的CentOS 6.5版本默认内核kernel版本是2.6的,比较低.安装docker的后,运行不了. 步骤: 1.使用命令更新: yum update 2.安装Docker.这里忽略500 ...
- 阿里云ECS服务器Ubuntu安装MySQL并远程访问
root账户登录服务器Ubuntu16.04 apt-get update apt-get install mysql-server mysql-client; 安装时会让你设置root密码,输入2次 ...
- 记录阿里云ECS(Centos7.4)安装mysql 8.0.X服务
#*.rpm介绍 大多数二进制rpm包都包含在名称中倒数第二个字段中编译rpm的体系结构..rpm软件包有那么几种 *.src.rpm 源程序包,要先通过编译才能安装 *.noarch.rpm 该包适 ...
- 阿里云centos系统上安装ftp
最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...
- linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限
最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题 1.准备阶段 我使用xshell工具管理服务器,相应下载和安装自行百度 ...
随机推荐
- 常用SQL性能统计代码
1 BEGIN DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=> 'TELEDB', TABNAME=> 'WFGTEST', PARTNAME=> N ...
- Log--日志变大原因总结
1. 有产生大日志操作,如重建整理索引,大量数据修改等2. 长期未提交事务,为保证为提交事务可以回滚,从最早为提交事务开始之后的所有事务,都是活动事务,不能被截断或覆盖3. 日志没有定期备份4. 镜像 ...
- TSQL--SET ANSI_NULLS OFF
当ANSI_NULLS 为ON时,遵循SQL92的标准,只能使用IS NULL 来判断值是否为NULL, 而不能使用=或<>来与NULL做比较,任何值包括NULL值与NULL值做=或< ...
- jQuery之方法绑定(事件注册)代码小结
1.最直接的模式,直接将一个function对象传入方法函数,如下面的click(),好处坏处一看便知 $("#btnComfirmChooseCompany").click(fu ...
- jquery.validate弹窗验证
$(document).ready(function () { //开始验证 $("#form1").validate({ submitHan ...
- C# LINQ(3)
我们还是接着讨论一下group by 这一章节讨论group的本质:分组. 分组之后进行存储或者查询. 这个时候就要用一个新的关键字:into 这个之后就group就不作为结尾了. 必须重写另起sel ...
- Launch VINS example (Euroc dataset) in RTAB-MAP
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Str ...
- B. Spreadsheets(进制转换,数学)
B. Spreadsheets time limit per test 10 seconds memory limit per test 64 megabytes input standard inp ...
- 在一个java类里,private int a; 什么时候要使用integer
private Integer index; if(index == null) index = 0; else this.index = index; Integer有一个明显的好处,就是它能比in ...
- 【bzoj4811】[Ynoi2017]由乃的OJ 树链剖分/LCT+贪心
Description 给你一个有n个点的树,每个点的包括一个位运算opt和一个权值x,位运算有&,l,^三种,分别用1,2,3表示. 每次询问包含三个数x,y,z,初始选定一个数v.然后v依 ...