鉴于Linux和mysql因不一样版本,安装方式也不一样,因此在阅读本攻略前,请确保各位同窗的版本和个人Linux、MySql 版本一致。html
若是不一致,只能参考。mysql
个人版本:linux
Linux CentOS 6.5 sql
MySql 5.7.18数据库
特别提醒:MySq 5.7和5.6在安装方式上有大不一样,因此5.6的同窗不要看这个攻略。windows
1、程序准备安全
1.进入 https://dev.mysql.com/downloads/mysql/ 网络
选择 Linux-Generic,根据系统是64位仍是32位选择下载的包。tar和tar.gz都行socket
2.使用SecureCRT远程登陆到Linux,并取得root权限学习
输入:sudo su 取得当前帐号的临时root权限。
3.把二进制包从Windows上传至Linux
关于Linux和windows互传的方法有不少,FTP和rzsz命令2种方法是主流。本文使用的是rz命令上传(rz命令须要使用SecureCRT远程链接到Linux)。
rz详细的使用请见:http://www.cnblogs.com/wangxiaoha/p/7059653.html
ftp的方式请你们本身在网上搜索一下方法,为了focus主题,本文就不涉及了。
4.包上传并移动至:/usr/local/
输入以下两个命令
cd /usr/local
rz -be (大文件必须加-be,否则会报错)
弹出对话框,选择MySql二进制包。开始上传。
上传完毕后,文件的路径应该是这样的:
/usr/local/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
咱们须要解压改压缩包。
当前的目录在 /usr/local/
输入以下命令:
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
解压完毕之后,会新增以下文件夹,文件夹里面就是mysql的运行程序
/usr/local/mysql-5.7.18-linux-glibc2.5-x86_64
为了方便,咱们把文件夹的名字改为mysql
当前目录在/usr/local/
输入:
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql
修改完毕。
4.创建一个新文件夹
mkdir \usr\local\data\mysql
基本工做准备完毕。
PS:
一、为何绝大部分的mysql的安装指导都会让咱们 把mysql包解压以后 ,用mv命令移到/usr/local/,而后把文件名修改成mysql呢,我的粗浅的认为有两点。一是约定俗成,若是之后有别的帐号登陆或者别的程序须要找mysql的程序路径,配个你们约定俗成的地址就ok了,不用再修改。二是,usr/local这个文件夹属于linux的公共文件夹,他的权限放得比较开,基本上有root权限操做都是开放的。可是若是把程序放在别的地方,特别是我的文件夹中,极有可能会由于各类文件权限问题而异常不断,很是影响学习效率。之后当初学者成为老鸟之后,你怎么玩也行。
二、为何要创建一个\usr\local\data\mysql目录。这是mysql的要求,由于它须要你指定一个地方存数据库的数据文件。咱们之后的数据都库表,和表里的数据都保存在这个文件夹里。
第二章:安装配置Mysql
1.在linux中创建新的用户和用户组
sudu su
取得root权限,建立mysql用户组
groupadd mysql
建立mysql用户,并属于mysql用户组
useradd -r -g mysql mysql
2.对文件夹指定全部者
cd /usr/local
chown -R mysql mysql/ 将mysql文件夹的全部者指定为mysql用户
chgrp -R mysql mysql/ 将mysql文件夹的全部组指定为mysql用户组
3.新增mysql的全局配置文件
5.7.18没有找到默认的配置文件。这个在网上找到一个模板:
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 通常配置选项 basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 socket = /var/run/mysqld/mysqld.sock character-set-server=utf8
#下面是可选项,要不要都行,若是出现启动错误,则所有注释掉,保留最基本的配置选项,而后尝试添加某些配置项后启动,检测配置项是否有误 back_log = 300 max_connections = 3000 max_connect_errors = 50 table_open_cache = 4096 max_allowed_packet = 32M #binlog_cache_size = 4M max_heap_table_size = 128M read_rnd_buffer_size = 16M sort_buffer_size = 16M join_buffer_size = 16M thread_cache_size = 16 query_cache_size = 128M query_cache_limit = 4M ft_min_word_len = 8 thread_stack = 512K transaction_isolation = REPEATABLE-READ tmp_table_size = 128M #log-bin=mysql-bin long_query_time = 6 server_id=1 innodb_buffer_pool_size = 1G innodb_thread_concurrency = 16 innodb_log_buffer_size = 16M innodb_log_file_size = 512M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_file_per_table = on [mysqldump] quick max_allowed_packet = 32M [mysql] no-auto-rehash default-character-set=utf8 safe-updates [myisamchk] key_buffer = 16M sort_buffer_size = 16M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout [mysqld_safe] open-files-limit = 8192 [client]
将以上的文本粘贴下来,保存为my.cnf,并经过rz命令或ftp上传至 etc/my.cnf,须要配置的是以下4行。
basedir = /usr/local/mysql mysql的程序文件夹路径
datadir = /usr/local/data/mysql mysql的数据文件夹路径
port = 3306 数据库的对外访问网络端口,通常保存默认3306
socket = /var/run/mysqld/mysqld.sock socket链接执行文件的地址
以上3行都很容易理解,第4个稍微麻烦一些。到目前为止能够占时忽略它。一下子来处理它
3.初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/data/mysql
以不安全的方式初始化mysql,且指定其全部者用户为mysql。insecure不安全,其实就是没有初始密码(必须为root权限)。对通常初学者来说,没密码要方面不少。
若是一切顺利,当前帐号拥有/usr/local/data/mysql的写入权限的话,mysql程序会在data/mysql里写入mysql本身的数据库。否则那会报错。
4.配置socket地址和处理配置文件
还记得/etc/my.cnf文件中的这一行么
socket = /var/run/mysqld/mysqld.sock
咱们如今须要查找mysql.sock这个文件到底被mysql初始化到哪里去了,输入以下命令:
find / -name 'mysql.sock'
发现它在:
/var/lib/mysql/mysql.sock
因此
socket = /var/lib/mysql/mysql.sock
my.cnf配置完毕
在启动mysql之前,还须要最后一步:
mv /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
PS:
1、为何要把配置文件copy到etc文件夹。由于etc文件夹是linux的配置文件中心,几乎大部分的配置文件都在这里。像mysql这种有全局服务的程序来说,放入这里方便之后的使用和操做。
2、为何要给mysql文件夹和文件指定专门的mysql用户,一句话安全。若是mysql被攻破的话,黑客只能拿到mysql用户的权限,不会影响别的系统。
第三章:启动mysql,完成基础设置
1. 启动mysql
cd /usr/local/mysql/bin
./mysqld_safe --user=mysql
/etc/init.d/mysqld restart
2.链接mysql
cd /usr/local/mysql/bin
./mysql -uroot -p
提示输入密码,直接回车
链接成功!
3.修改密码
搞定!以上。