linux下yum安装指定的mysql版本
因为直接使用yum安装的mysql会是默认版本5.1的版本 但是有的同学不满足又想要其他版本的怎么办呢?
曾时候我来提供一种方案(仅供参考):
我们可以使用rpm包来进行指定mysql版本的安装,
1、首先我们要选择你的要安装的msyql版本,然后去官网找到版本对应的路径
https://dev.mysql.com/downloads/mysql/
选择你要下载的版本:
因为我用的是centos版本所以我就用 RED Hat 红帽的包
2、选择你要下载的版本点击download
3、然后记住这个链接地址
你再去你的linux上进行路径的拼接即可
wget https://dev.mysql.com/get/+要下载的版本rpm路径 如:
wget https://dev.mysql.com/get/mysql-community-embedded-compat-5.7.24-1.el7.x86_64.rpm # 这就是要下载上面的 5.7.24mysql版本的rpm包
最重要的一点先看看你的机器中有没有其他的多余的包
yum list installed | grep mysql
如果有一点要删除不然会报错
删除已安装mysql
输入命令:yum -y remove mysql+版本包
切记上面出现两个 两个都要删除
这个时候你一定要确保之前的没有其他的多余的包
下面我来下载5.7.24演示:
wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
安装用来配置mysql的yum源的rpm包
rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
或
yum localinstall -y mysql57-community-release-el6-9.noarch.rpm
安装成功后在/etc/yum.repos.d/下会多出几个mysql的yum源的配置,如下:
2.安装mysql
yum install mysql-community-server
3.开启mysql服务
service mysqld start
mysql安装成功后创建的超级用户'root'@'localhost'的密码会被存储在
/var/log/mysqld.log,可以使用如下命令查看密码
grep 'temporary password' /var/log/mysqld.log
然后最初的时候我们要拿着这个密码去登陆的 它不要默认安装的不需要密码 也是需要密码的
使用mysql生成的
'root'@'localhost'用户和密码登录数据库,并修改
其密码,具体命令
shell> mysql -uroot -p
登陆进去之后修改密码 以防止忘记以前的
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'LaowangNi123!'; # 初始设置的必须满足有大小写特殊符号8位,不满足会报错 下面再强制修改
4.开启远程连接
设置iptables开放3306端口
vi /etc/sysconfig/iptables
如果此时使用telnet远程登录mysql服务会出错:
解决此问题的方法为:
将localhost改成%
进入mysql的BIN目录
代码如下 | |
mysql -u root -p mysql>use mysql; mysql>update user set host =’%'where user =’root’; mysql>flush privileges; |
具体分析
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。(必须要切换到mysql库内)
代码如下 | |
mysql> mysql>use mysql; mysql>select 'host' from user where user='root'; |
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
然后执行:
mysql> update user set host = '%' where user ='root'; mysql>flush privileges;
再进行查看:
此时的显示就是:
#修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,需要select host from user where user = 'root';
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)
下面是强制改密码:
5.7之后的强制改密码和之前的不同于了
update user set authentication_string=password("新密码") where user='root';
5.7之前的修改密码
方法二:
通过登录mysql系统,
mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=password("新密码") where user='root';
mysql> exit;
所有的修改密码都要在mysql库中
忘记原来的myql的root的密码;
方法三:
首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;
#service mysql stop
然后执行
# mysqld_safe --skip-grant-tables &
1
&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。
接着登陆MySQL修改密码
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("新密码") WHERE user='root';
mysql> exit;
注意:如果Mysql的版本是5.7及以上的话update语句如下:
mysql> update user set authentication_string=password("新密码") where user='root';
最新文章
- 最简单的jQuery插件
- 使用Installutil安装系统服务方法
- 使用cocos2d-x v3.1开发小游戏(基本框架)
- poj2763 树链剖分(线段树)
- NFS挂载及写入故障
- Arcgis Android - HelloWorld
- python_基本语法_01
- 《VIM-Adventures攻略》 LEVEL 4、5
- javacsript (十一) 对象
- 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题
- 从0开始的LeetCode生活—9. Palindrome Number(回文数)
- Python基础:语法基础(3)
- Ansible playbook 批量修改服务器密码 先普通后root用户
- Benthos metrcis 说明
- vue run dev 8080端口被占用
- C# 播放器, 收藏
- npm使用过程中的一些错误解决办法及npm常用命令和技巧
- Java基础之MySQL数据库与JDBC
- fir.im 测试包下载工具--FIRReader 的图文介绍
- 【数据结构】浅谈倍增求LCA
热门文章
- Unable to handle kernel NULL pointer dereference at virtual address 00000000问题的解决
- 解决Nginx 504 Gateway Time-out问题
- mybatis异常:Error instantiating class com.psc.bean.User with invalid types () or values ().
- Winform开发全套31个UI组件开源共享
- debian上安装docker ce
- 【JavaScript 从零开始】 原始值和对象引用、类型转换
- iOS系统库头文件中NS_AVAILABLE相关
- ios app真正的相互!!调用
- iOS交互h5— JavaScriptCore ---UIWebview
- VS2015编译OpenSSL