centos6.7 64位环境下部署MySQL-5.7.13

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

系统环境:

[root@localhost ~]# cat /etc/redhat-release 

CentOS release 6.7 (Final)

[root@localhost tools]# uname -a

Linux localhost 2.6.32-573.22.1.el6.x86_64 #1 SMP Wed Mar 23 03:35:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost tools]# 

软件准备:

[root@localhost tools]# pwd

/opt/tools

[root@localhost tools]# ll

total 674208

-rw-r--r-- 1 root root 639864682 Jul 22 17:47 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

-rw-r--r-- 1 root root  50516207 May 25 12:01 mysql-5.7.13.tar.gz

[root@localhost tools]#

解压安装:

[root@localhost tools]# tar xf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz 

[root@localhost tools]# ll

total 674212

drwxr-xr-x 9 7161 wheel      4096 May 25 15:04 mysql-5.7.13-linux-glibc2.5-x86_64

-rw-r--r-- 1 root root  639864682 Jul 22 17:47 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

-rw-r--r-- 1 root root   50516207 May 25 12:01 mysql-5.7.13.tar.gz

[root@localhost tools]# 

[root@localhost tools]# mv mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/mysql

[root@localhost tools]#

初始化操作(生成初始密码):

[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

2016-07-22T09:58:15.001776Z 0 [Warning] InnoDB: New log files created, LSN=45790

2016-07-22T09:58:15.062066Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2016-07-22T09:58:15.073009Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cebfb8a6-4ff2-11e6-8c8d-005056a01a07.

2016-07-22T09:58:15.074370Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2016-07-22T09:58:15.075736Z 1 [Note] A temporary password is generated for root@localhost: k_1ljzVh3<-,

[root@localhost mysql]#

PS: mysql5.7新特性:由上面可以看出, mysql_install_db 已经不再推荐使用了,建议改成 mysqld --initialize 完成实例初始化。

 

加入MySQL为系统服务:

[root@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

[root@localhost mysql]# chkconfig mysqld on

[root@localhost mysql]# chkconfig --list|grep mysqld

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@localhost mysql]#chmod 755 /etc/init.d/mysqld

 

MySQL服务启动、重启、停止

[root@localhost mysql]# serivce mysqld start

[root@localhost mysql]# serivce mysqld stop

[root@localhost mysql]# serivce mysqld restart

[root@localhost mysql]# 

设置环境变量:

[root@localhost mysql]# vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH

[root@localhost mysql]#

检查MySQL是否能开启

[root@localhost mysql]# cd /usr/local/mysql

[root@localhost mysql]# cd support-files/

[root@localhost support-files]# ./mysql.server start

Starting MySQL.. SUCCESS! 

若改用了, 则在启动服务时会出现如下错误:

# ./support-files/mysql.server start

./support-files/mysql.server: line 276: cd: /usr/local/mysql: No such file or directory

Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)

这时候我们需要修改/support-files/mysql.server文件的basedir和datadir目录路径为我们正确的mysql的basedir和datadir路径, 如下:

vim support-files/mysql.server

--------------------------

...

basedir=/usr/local/mysql

datadir=/data/mysql/data

... 

--------------------------

# ./support-files/mysql.server start

Starting MySQL.. SUCCESS! 

创建配置文件

将默认生成的my.cnf备份

# mv /etc/my.cnf /etc/my.cnf.bak

[root@localhost support-files]# cp my-default.cnf  /etc/my.cnf

初始化mysql用户root的密码

先将mysql服务停止

# service mysqld stop

进入mysql安装目录, 执行:

cd /usr/local/mysql

./bin/mysqld_safe --skip-grant-tables --skip-networking&

[1] 6225

[root@localhost mysql]# 151110 02:46:08 mysqld_safe Logging to '/data/mysql/data/localhost.localdomain.err'.

151110 02:46:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data


另外打开一个终端(p.s. 如果是ssh连接登录的, 另外创建一个ssh连接即可), 执行操作如下:


# mysql -u root mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> use mysql;

Database changed

mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

mysql> update user set authentication_string = PASSWORD('123456') where user = 'root';

Query OK, 1 row affected, 1 warning (0.02 sec)

Rows matched: 1  Changed: 1  Warnings: 1


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


mysql> \s

mysql  Ver 14.14 Distrib 5.7.13, for linux-glibc2.5 (x86_64) using  EditLine wrapper


Connection id:          62

Current database:

Current user:           root@localhost

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ''

Using delimiter:        ;

Server version:         5.7.13-log MySQL Community Server (GPL)

Protocol version:       10

Connection:             Localhost via UNIX socket

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

UNIX socket:            /data/AEData/mysql/data/mysql.sock

Uptime:                 46 min 54 sec


Threads: 6  Questions: 6846  Slow queries: 0  Opens: 257  Flush tables: 1  Open tables: 201  Queries per second avg: 2.432

--------------


mysql> 

到此, 设置完mysql用户root的密码且确保mysql编码集是utf8, 注意上面, 新版本的mysql.user表里的密码字段是authentication_string


MySQL远程授权

格式如下:

mysql> grant all [privileges] on db_name.table_name to 'username'@'host' identified by 'password';

示例如下:


mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';

Query OK, 0 rows affected, 1 warning (0.04 sec)


mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql> 

或用

mysql> grant all on *.* to 'root'@'%' identified by '123456';


到此, 完成了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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[client]
loose_default-character-set = utf8
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql/data
port = 3306
server_id = 1
socket = /data/mysql/data/mysql.sock
expire_logs_days      = 7
innodb_file_per_table
innodb_buffer_pool_size         = 2G
innodb_thread_concurrency       = 24
innodb_flush_log_at_trx_commit  = 1
innodb_log_buffer_size          = 32M
innodb_log_file_size            = 256M
innodb_log_files_in_group       = 3
innodb_max_dirty_pages_pct      = 90
innodb_lock_wait_timeout        = 120
wait_timeout            = 60 
interactive_timeout     = 7200
skip-name-resolve
character-set-server    = utf8
back_log                = 50
max_connections         = 3000
max_connect_errors      = 32
max_allowed_packet      = 32M
binlog_cache_size       = 8M
max_heap_table_size     = 512M
tmp_table_size          = 64M
key_buffer_size         = 16M
read_buffer_size        = 2M
read_rnd_buffer_size    = 8M
bulk_insert_buffer_size = 64M
sort_buffer_size        = 4M
join_buffer_size        = 2M
thread_cache_size       = 64
thread_stack            = 192K
query_cache_type        = 1
query_cache_size        = 256M
query_cache_limit       = 2M
ft_min_word_len         = 2
default_storage_engine  = INNODB
#default_table_type     = INNODB
transaction_isolation   = REPEATABLE-READ
lower_case_table_names  = 1
#log_slow_queries
slow_query_log
long_query_time = 2
log-short-format
myisam_sort_buffer_size         = 128M
myisam_max_sort_file_size       = 10G
myisam_repair_threads           = 1
[mysqldump]
quick
max_allowed_packet = 32M
routines
single-transaction
hex-blob
skip-comments 
complete-insert 
skip-disable-keys 
skip-add-locks 
skip-lock-tables 
[isamchk] 
key_buffer       = 512M
sort_buffer_size = 512M
read_buffer      = 8M
write_buffer     = 8M
[myisamchk]
key_buffer       = 512M
sort_buffer_size = 512M
read_buffer      = 8M
write_buffer     = 8M
[mysqlhotcopy]
interactive-timeout
# Remove leading # to se t options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES









      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1829575,如需转载请自行联系原作者






参考案例:http://blog.csdn.net/cryhelyxx/article/details/49757217

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
98 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
3天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
13 3
|
4天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
9 2
|
6天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
40 2
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
180 2
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
43 3
|
23天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
146 0
|
2月前
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境
|
21天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
55 3
Mysql(4)—数据库索引
|
9天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
39 4