CentOS6.10下安装mysql-5.7.24

时间:2022-11-04 05:04:56
卸载原有mysql

因为mysql数据库在Linux上实在是太流行了

所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面

我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库

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

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

// 普通删除模式
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命令来安装:

ps: 此方式有可能已经过时或有其他问题,最新安装方法请参考官方安装文档

yum install -y mysql-server mysql mysql-devel

但是,这里我们使用离线安装的方式安装mysql

// 使用wget命令从mysql官网下载离线包(地址可能不一定是下面这个,请自行更改)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz // 解压
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安装完毕之后,还需要做一些基本配置,如下:

// 创建配置文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf // 修改配置文件/etc/my.cnf,最后一行加上
lower_case_table_names=1 #表名不区分大小写 // 由于mysql5.7有弱密码限制,可以在配置文件中加上下面内容,关闭限制
[mysqld]
validate_password=off // 查看root用户初始密码并修改root密码
grep 'temporary password' /data/mysql/error.log
set password = password('your_password'); // 创建用户并授权
grant all on *.* to name@'%' identified by "password" with grant option;
flush privileges;
编码格式以及其他

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

查看数据库支持的字符集

show character set;
或者:
show char set;

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

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

查看MySQL当前状态:status

修改character_set_connection、character_set_client、character_set_results三值

set names utf8;
相当于:
SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;

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

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

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

创建时指定字符集:

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 );

修改字符集:

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

其他:

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