CentOS yum安装MySQL5.6

CentOS默认yum源只能安装MySQL5.1,我们想平滑升级但是又不想下载源码编译怎么办?修改yum的源就能实现快速安装。

一.查看系统里面有没有mysql的repo

1
yum repolist all | grep mysql

如果执行如上命令没有返回任何结果,则需要配置repo,配置方法如下:

1
2
3
4
5
6
7
8
9
#首先请新建如下文件,若存在则覆盖
#vim /etc/yum.repos.d/mysql-community.repo
#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=

PS:如果要同时使用MySQL其他任何版本,只能有一个是enabled=1,其他的都得enabled=0,否则系统不知道你当前是要安装哪个版本;

二.再检查是否存在MySQL的repo

1
2
# yum repolist enabled | grep mysql
mysql56-community MySQL 5.6 Community Server

如果出现如上结果,说明yum源已经有了,接下来就可以直接安装MySQL5.6。

三.通过yum安装MySQL5.6

MySQL的安装命令并非 yum install mysql56 ,而是如下命令:

1
yum install mysql-community-server

不出意外会出现如下提示:

warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, >key ID 5072e1f5: NOKEY

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY->mysql

获取 GPG 密钥失败:[Errno 14] Could not open/read file:///etc/>pki/rpm-gpg/RPM-GPG-KEY-mysql

遇到这种情况不用担心,直接运行如下命令

1
yum install mysql-community-server --nogpgcheck

不出意外我们的MySQL5.6就安装成功了,其他版本的安装方法如法炮制。最后启动MySQL,并修改默认的root密码;

1
2
sudo service mysqld start
/usr/bin/mysqladmin -u root password 'new_password'

PS:将 new_password 改为你的密码。

四.设置Mysql帐号和密码

先以’’空身份登入mysql,设置root密码:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ mysql
# 为root帐号设置密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
# 创建用户和设置密码
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'new_password';
# 创建数据库
CREATE DATABASE testName;
# 对用户授权
grant all privileges on testName.* to 'admin'@'%' identified by 'new_password';
# 删除匿名用户
DROP USER ''@'localhost';
# 查看用户列表 不需要的可以手动删除
select user,host from mysql.user;

通过如上设置,我们可以通过工具使用admin帐号远程连接MySQL。当然也可以进一步设置admin帐号的权限,保证数据安全。

五.设置Mysql编码

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo vim /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

$ sudo service mysqld restart
;登录mysql
SHOW VARIABLES LIKE 'character%';

MySQL编码建议使用utf8mb4,可查看这篇文章MySQL编码的选择问题,有详细解释。

参考资料如下:

  1. http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html
  2. http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/