操作系统准备,本次MysqL5.7实战安装是在Centos6.5 x86_64系统上完成。如下是系统详情。
[root@MysqLserver~]#uname-a LinuxMysqLserver2.6.32-431.el6.x86_64#1SMPFriNov2203:15:09UTC2013x86_64x86_64x86_64GNU/Linux [root@MysqLserver~]#cat/etc/redhat-release CentOSrelease6.5(Final)
1.MysqL软件包准备
本次实战使用,下载的是版本是MysqL5.7.15社区版。安装包下载二进制源码免编译的包。可以通过MysqL官网下载,http://dev.mysql.com/downloads/mysql/
如下链接是我已经下载好保存在网盘的,也可以参考使用。
http://pan.baidu.com/s/1eSr57oQ
MysqL-5.7.15-linux-glibc2.5-x86_64.tar.gz
安装包通过ftp或者secureCRT工具上传到centos系统中
2.解压MysqL软件包,指定安装目录,修改MysqL目录名
将MysqL安装包上传到centos系统后,解压软件包。将解压后生成的目录,复制到/usr/local/下并改名为MysqL,/usr/local/MysqL就是MysqL数据库的安装目录。
[root@MysqLserverMysqL]tarxfzMysqL-5.7.15-linux-glibc2.5-x86_64.tar.gz [root@MysqLserverMysqL]mvMysqL-5.7.15-linux-glibc2.5-x86_64/usr/local/MysqL [root@MysqLserverMysqL]ln-svMysqL-5.7.15-linux-glibc2.5-x86_64/usr/local/MysqL
3.创建MysqL用户
[root@MysqLserverMysqL]#groupaddMysqL [root@MysqLserverMysqL]#useradd-gMysqL-s/sbin/nologin-MMysqL [root@MysqLserverMysqL]#idMysqL#检测是否创建成功
4.创建MysqL数据目录和日志目录。MysqL在初始化数据库的时候会用到该数据目录
[root@MysqLserverMysqL]#mkdir/MysqL/MysqL/data/MysqL/log
5.更改目录权限
更改目录权限,以便MysqL在初始化时候顺利进行。
[root@MysqLserverMysqL]# chown-RMysqL:MysqL/usr/local/MysqL/MysqL
6.创建my.cnf文件
[root@MysqLserverlocal]#vi/etc/my.cnf
配置文件如下:
[client]
port = 3306
socket = /tmp/MysqL.sock
[MysqLd]
server_id=10
user = MysqL
basedir = /usr/local/MysqL
datadir = /MysqL/data
pid-file = /MysqL/data/MysqL.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
# [innodb]
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
##log
log_error = /MysqL/log/MysqL-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /MysqL/log/MysqL-slow.log
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
说明:这里只是进行了一些简单的配置,如果稍后需要可以自己按需添加配置
7.初始化数据库
要点说明:在5.7.6之前初始化的方法是:
数据库安装目录/scripts/MysqL_install_db--user=MysqL
此次实战操作下载的是最新的5.7.15,5.7.6之后的版本初始化数据库不再使用MysqL_install_db,使用
bin/MysqLd --initialize--user=MysqL--basedir=/usr/local/MysqL--datadir=/MysqL/data
7.1进入数据库目录,以下配置都在/usr/local/MysqL下,完成初始化
[root@MysqLserverMysqL]bin/MysqLd--initialize--user=MysqL--basedir=/usr/local/MysqL--datadir=/MysqL/data--innodb_undo_tablespaces=3--explicit_defaults_for_timestamp
如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。如下图中,红色笔迹勾选的就是密码。A temporary is generated forroot@localhost:-7&YUR<%ox- MysqL初始化完成后就可以使用这个密码在本机通过root用户登录。
[root@MysqLserver MysqL]bin/MysqL_ssl_rsa_setup --datadir=/MysqL/data
7.2配置启动文件,启动MysqL服务
MysqL的启动文件MysqL.server放在MysqL源码包中,如下目录/usr/local/MysqL/support-files,复制该文件同时改名为MysqL到/etc/init.d/MysqL
[root@MysqLserverbin]cpsupport-files/MysqL.server/etc/init.d/MysqL
MysqL启动设置成功如下,但是启动MysqL失败,因为环境变量没有配置。
7.3配置环境变量
方法一:
[root@MysqLserverMysqL]#vim /etc/profile
PATH=$PATH:$MysqL_home/bin
方法二:
[root@MysqLserverbin]# echo'PATH=/usr/local/MysqL/bin:$PATH'>>/etc/profile
[root@MysqLserverbin]#source/etc/profile [root@MysqLserverbin]#echo$PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/MysqL/bin
echo 'export PATH=/MysqL安装目录/bin:$PATH'>>/etc/profile
tail -l /etc/profile
source /etc/profile
echo $PATH
7.4设置开机启动MysqL
[root@MysqLserverbin]#chkconfig--addMysqL [root@MysqLserverbin]#chkconfigMysqLon [root@MysqLserverbin]#chkconfig--listMysqL MysqL0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
8.登陆数据库
[root@MysqLserver~]#MysqL-uroot-p Enterpassword: WelcometotheMysqLmonitor.Commandsendwith;or\g. YourMysqLconnectionidis5 Serverversion:5.7.15-logMysqLCommunityServer(GPL) Copyright(c)2000,2016,Oracleand/oritsaffiliates.Allrightsreserved. OracleisaregisteredtrademarkofOracleCorporationand/orits affiliates.Othernamesmaybetrademarksoftheirrespective owners. Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
到此,MysqL5.7的安装基本完成。在文章整理过程中,难免出现错误或者表达不当的地方,希望大家通过实际操作后指出不足,给予建议或者意见。
9.注意事项
在5.7中存储密码的字段不再是password了,变成了authentication_string
update MysqL.user
set authentication_string=password('root') where user='root';
谢谢大家的阅读,技术学习之路还很长,愿与你一起成长!