和之前版本的mysql有一些不同,现把完整过程记下来,或许对新手来说有用。
本文描述的安装是采用通用的二进制压缩包(linux - Generic)以解压方式安装,相当于绿色安装了。
一、下载通用安装二进制包
先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/
选择 linux - Generic并在其下选择
Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive
进行下载。可以先下载到一个临时目录里,解压后,得到两个包:
mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mysql-test-5.7.11-linux-glibc2.5-x86_64.tar.gz
只需要mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 这个包就行了。
二、建立用户和目录
建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。
#groupadd mysql
#useradd -r -g mysql mysql
(使用-r参数表示mysql用户是一个系统用户,不能登录)
建立目录/work/program,后面mysql就安装在这个目录下面。
#mkdir /work/program
三、安装
【解压】
将前面得到的mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz解压至/work/program目录下
#tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz -C /work/program
这时在program下得到的目录名很长,如果不想改名,则可以建立一个联接:
#ln -s mysql-5.7.11-linux-glibc2.5-x86_64 mysql
此后就可以用/work/program/mysql来找到mysql的安装目录了
注意,如果mysql目录下没有data目录,手动建一个。
【目录权限设置】
将mysql及其下所有的目录所有者和组均设为mysql:
#cd /work/program/mysql
#chown mysql:mysql -R .
【初始化】
#/work/program/mysql/bin/mysqld --initialize --user=mysql --datadir=/work/program/mysql/data --basedir=/work/program/mysql
注意:
1. data目录解压后没有,需要手动建立(见上文);
2. mysql5.7和之前版本不同,很多资料上都是这个命令
...../scripts/mysql_install_db --user=mysql
而5.7版本根本没有这个。
初始化成功后出现如下信息:
201x-xx-xxT07:10:13.583130Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
201x-xx-xx T07:10:13.976219Z 0 [Warning] InnoDB: New log files created, LSN=45790
201x-xx-xx T07:10:14.085666Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
201x-xx-xx T07:10:14.161899Z 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: 1fa941f9-effd-11e5-b67d-000c2958cdc8.
201x-xx-xx T07:10:14.165534Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
201x-xx-xx T07:10:14.168555Z 1 [Note] A temporary password is generated for root@localhost: q1SLew5T_6K,
注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。
【配置】
将mysql/support-files下的my-default.cnf改名为my.cnf,拷到/etc下(或者考到{mysql}下,然后作一个软链接到/etc下):
#cp /work/program/mysql/support-files/my-default.cnf /etc/my.cnf
my.cnf中关键配置:
[mysqld]
basedir = /work/program/mysql
datadir = /work/program/mysql/data
port = 3306
socket = /work/program/mysql/tmp/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
注意,tmp目录不存在,请创建之。
如果不把my.cnf拷到/etc下,运行时会出现:
mysqld: Can't change dir to '/usr/local/mysql/data/' (Errcode: 2 - No such file or directory)
这样的出错提示,说明它没找到my.cnf中的配置;而去找了程序编译时的默认安装位置:/usr/local/mysql
四、运行
【运行服务器程序】
#{mysql}/bin/mysqld_safe&
注:在这个启动脚本里已默认设置--user=mysql;在脚本末尾加&表示设置此进程为后台进程,区别就是在控制台输入bg,即可将当前进程转入后台,当前shell可进行其他操作。
【停止mysql】
{mysql}/bin/mysqladmin -uroot -p
(注意此时的root是指mysql的root用户)
五、设置mysql以服务运行并且开机启动
将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限
#cp mysql.server /etc/init.d/mysql
#chmod +x /etc/init.d/mysql
把mysql注册为开机启动的服务
#chkconfig --add mysql
当然也可以手动进行服务的开启和关闭:
#/etc/init.d/mysql start
#/etc/init.d/mysql stop
六、客户端连接测试
#{mysql}/bin/mysql -uroot -p
此时要求输入密码,就是前面初始化时生成的密码。
这时如果连接服务的时候出现错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
则需要在在my.cnf中填加:
[client]
socket = /work/program/mysql/tmp/mysql.sock
连上后,在做任何操作前,mysql要求要改掉root的密码后才能进行操作。
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'xxxxxxx';
七、TIPS
【查看mysql是否运行】
ps -ef|grep mysqld
netstat -lnp | grep -i mysql
【mysql启动时读取配置文件my.cnf的顺序】
可以运行如下命令查看:
./bin/mysqld --verbose --help |more
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
可以看到,启动时可以从上述目录下读取配置文件my.cnf。如果当前my.cnf文件不位于上述位置,则必须考过去或做链接。
【end】
相关推荐
centos7安装配置mysql5.7教程全
CentOS安装MySQL5.7,带部分截图
在本地虚拟机的场合,需要更换yum安装网络地址配置文件CentOS-Base.repo 从阿里云服务器下载一份CentOS-Base.repo文件存到本地
MySQL5.7在CentOS7.2上的安装配置,MySQL5.7初始化与之前版本有所区别,在该文档中有详细介绍。
CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二进制安装mysql5.7、CentOS-二...
CentOS7.4环境安装MySQL5.7步骤,包括环境准备,依赖包的安装等
系统环境:centos6.7 ,数据库:MySQL5.7。里面包含安装数据库所需要的依赖包,和一些基本设置,不足之处多多指教。
CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情
centos7下安装mysql5.7步骤!
安装环境:CentOS7 64位 MINI版,安装MySQL5.7 同一个主机、不同显示器、连接多个键盘鼠标、多用户、多桌面同时操作
MySQL5.7版本升级操作说明_centos7 MySQL5.7版本升级操作说明_centos7 MySQL5.7版本升级操作说明_centos7
MySQL5.7-CentOS7安装.md
1. Centos7下MySQL5.7.30 安装步骤 2. MySQL 双主环境搭建步骤 3. md语法编写,建议使用 typora 打开
mysql 5.7 CentOS 7 离线安装包
centos7系统安装mysql5.7所需要的rpm安装包,包括mysql-client、mysql-common、mysql-lib、mysql-server
Centos6.5下安装Mysql5.7+的脚本及安装手册。 安装包需要从网上下载,我测试的安装包为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz,500多M,上传不了。注意:必须是二进制安装版的,不能是rpm或源码版的。 经我测试...
centos7下离线安装mysql5.7完美教程,可查看我的首页寻找安装资源
检查是否安装mysql和mariadb,卸载系统自带的 mysql和mariadb-lib,没有则跳过,下载安装包,解压到指定目录,并创建文件链接,创建mysql相关的组和用户,创建mysql相关的目录,创建mysql的配置文件,安装mysql的系统数据库...
centos6.8系统网络安装mysql5.7,centos6.8系统网络安装mysql5.7
CentOS7 64位下MySQL5.7安装与配置(YUM),1.配置YUM源2.安装MySQL3.启动MySQL服务4.开机启动5.修改root本地登录密码6.添加远程登录用户7.配置默认编码为utf8