CentOS6.10下安装mysql-5.7.24

CentOS6.10下安装mysql-5.7.24

最近,公司购买了台测试服务器
需要在上面安装许多项目管理软件以及开发部署工具
所以就顺便整理一下相关的安装文档
下面,开始安装MySQL

卸载原有mysql

因为mysql数据库在Linux上实在是太流行了
所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面
我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库

1
rpm -qa | grep mysql   // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令 或者 rpm -e –nodeps 命令来卸载掉

1
2
3
4
// 普通删除模式	
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64  
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
安装Mysql

首先,我们可以使用yum命令来安装,参考资料官方安装文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
方式1(不建议使用):
yum install -y mysql-server mysql mysql-devel

方式2(建议使用此方法):
wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm //从官网获取yum源
yum -y install mysql57-community-release-el6-8.noarch.rpm //安装yum源
yum -y install mysql-community-server //安装mysql服务

注意:因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉
yum -y remove mysql57-community-release-el6-8.noarch

## 方式3:2019-12-28更新,方式2链接好像访问不了啦
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum install mysql-server -y

其次,我们还可以使用离线安装的方式安装mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 使用wget命令从mysql官网下载离线包(地址可能不一定是下面这个,请自行更改)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar

// 解压
tar -xvf mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar

// 安装工具包以及兼容性相关包
rpm -ivh mysql-community-common-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.24-1.el6.x86_64.rpm

// 安装mysql服务端
rpm -ivh mysql-community-server-5.7.24-1.el6.x86_64.rpm

// 安装mysql客户端
rpm -ivh mysql-community-client-5.7.24-1.el6.x86_64.rpm

// 启动mysql
service mysqld start

至此,mysql安装完毕

配置mysql

mysql安装完毕之后,还需要做一些基本配置,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 创建配置文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf

// 修改配置文件/etc/my.cnf,最后一行加上
lower_case_table_names=1 #表名不区分大小写

// 由于mysql5.7有弱密码限制,可以在配置文件中加上下面内容,关闭限制
// ---方法1
[mysqld]
validate_password=off
// ---方法2
set global validate_password_length=1;
set global validate_password_policy=0;

// 查看root用户初始密码并修改root密码
grep 'temporary password' /data/mysql/error.log
set password = password('your_password');
// 使用yum安装的目录有点变化
grep 'temporary password' /var/log/mysqld.log
alter user 'root'@'localhost' identified by 'AAbb123@#$';

// 创建用户并授权
grant all on *.* to name@'%' identified by "password" with grant option;
flush privileges;
编码格式以及其他

查看字符集用 show variables like 'character%';

查看数据库支持的字符集

1
2
3
show character set; 
或者:
show char set;

最简单的完美修改方法,修改mysql的 /etc/my.cnf 文件中的字符集键值

1
2
3
// 在[mysqld]字段里加入character-set-server=utf8,如下:  
[mysqld]
character-set-server=utf8

查看MySQL当前状态:status

修改character_set_connection、character_set_client、character_set_results三值

1
2
3
4
5
set names utf8;
相当于:
SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;

查看数据库表的字符集设置:

1
2
show full columns from tablename;
show create table [表名];

查看数据库编码:show create database [库名];

创建时指定字符集:

1
2
3
4
CREATE DATABASE [库名] DEFAULT CHARACTER SET utf8;
如果不指定默认的字符集,则系统会根据character_set_database的值进行设置
CREATE TABLE [库名].[表名] (id VARCHAR(20) NOT NULL,name VARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE [库名].[表名] (id varchar(20) NOT NULL,name varchar(20) CHARACTER SET utf8 );

修改字符集:

1
2
3
ALTER DATABASE [库名] CHARACTER SET [字符集];
ALTER TABLE [表名] CHARACTER SET [字符集];
ALTER TABLE [表名] MODIFY [列名] VARCHAR(5) CHARACTER SET [字符集];

其他:

1
2
3
4
5
// mysql可以有:
select 1;
// 这样的语法,而且不会报错,等同于:
select 1 from dual;
// mysql里面也有虚拟表dual,但是select时不写也行
作者

Trainoo

发布于

2018-11-18

更新于

2020-06-02

许可协议