1、下载mysql最新的源
sudo rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
2、安装指定的版本
- 2.1修改源配置文件
vim /etc/yum.repos.d/mysql-community.repo
- 2.2启用MySQL5.6的源
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
- 2.3禁用MySQL5.7的源
# Disable to use MySQL 5.6
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
3、查看验证一下源的启用状态
yum repolist all | grep mysql
或者直接查看当前可使用的源包
yum repolist enabled | grep mysql
我这里禁用了MySQL5.7 启用了 MySQL5.6的
4、安装MySQL5.6
sudo yum install mysql-community-server
5、账号授予权限:
//让mysql从其他客户端(比如Navicat、SysLog等)登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
//需要注意这里的% 不包括localhost,只包含具体的IP地址,具体原因这里不详述,请自行翻阅资料
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT命令说明:
ALL PRIVILEGES: 是表示所有权限,你也可以使用select、update等权限提到的权限。
ON: 用来指定权限针对哪些库和表。
.: 中前面的号用来指定数据库名,后面的号用来指定表名。
TO: 表示将权限赋予某个用户。
root@'localhost': 表示root用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
IDENTIFIED BY: 指定用户的登录密码。
WITH GRANT OPTION: 这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其他用户授权。
备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加了一个select权限,然后又给用户添加了一个insert权限,那么该用户就同时拥有了select和insert权限。
6、更新用户密码
方法一:mysqladmin
mysqladmin -u root -p[oldpass] password newpass
方法二:使用表更新命令
mysql> UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root' and Host='127.0.0.1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
需要注意一定要使用PASSWORD()函数!要不什么后果自己想。
方法三:set password
mysql> set password for 'root'@'localhost'=PASSWORD('新密码');
Query OK, 0 rows affected (0.00 sec)
备注:更新完毕使用FLUSH PRIVILEGES;命令刷新权限,否则还是原来的密码!
7、启动MySQL服务
service mysqld start
service mysqld status