mysql for linux 数据库的安装过程

l  安装版本:mysql-advanced-5.6.12-linux-glibc2.5-x86_64.tar.gz ,此版本是绿色版本,只需要将其解压到相关目录即可。

PS:此安装方法为不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件

PS:Mysql下载地址:http://pan.baidu.com/s/1eQJhoLO

1、创建mysql用户/账号

[root@inmscj10 ~]#  groupadd mysql         --增加组

[root@inmscj10 ~]#  useradd -m -s/bin/bash -d/home/mysql -gmysql mysql   --增加用户并指定用户位置,路径,用户组

[root@inmscj10 ~]#  passwd mysql    --修改密码

[root@inmscj10 ~]#

2、创建目录

l  为了好管理,将mysql统一安装在一个固定的目录/home/下,将解压后的mysql重命名为mysql

[root@inmscj10 ~]# mkdir -p /home/

[root@inmscj10 ~]# tar -zxvf mysql-advanced-5.6.12-linux-glibc2.5-x86_64.tar.gz

[root@inmscj10 ~]# mv mysql-advanced-5.6.12-linux-glibc2.5-x86_64 /home/mysql

l  在主目录下面创建一个logs目录,用户存放mysql的日志文件。

[root@inmscj10 mysql]# mkdir logs

l  对相关目录进行授权

[root@inmscj10 ~]#cd /home/mysql/

[root@inmscj10 mysql]#chown -R root  *

[root@inmscj10 mysql]#chown -R mysql data

[root@inmscj10 mysql]#chgrp -R mysql  *

3、初始化数据库

mysql的原始配置文件可以在support-files中找到

my-default.cnf,这个是mysql的参数文件,通常这个文件都会被重新命名为my.cnf,放入/home/mysql目录下。

[root@inmscj10 support-files]# cp my-default.cnf  /home/mysql/my.cnf

l  修改my.cnf文件,加入以下内容:

[mysqld]

# port=33060  --指定端口 默认取 3306 
basedir = /home/mysql     --安装根目录
datadir = /home/mysql/data    --数据库存储路径
socket = /tmp/mysql.sock
log-error=/home/mysql/mysql_error.log
skip-name-resolve
character_set_server=utf8   --数据库默认字符集
#init_connect='set names utf8'

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# lower_case_table_names = 1    --数据库、表名区分大小配置 1为不区分大小写,注释掉默认区分大小写

max_allowed_packet = 32M
table_open_cache = 1024
sort_buffer_size = 4M
join_buffer_size = 2M
net_buffer_length = 8M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
thread_cache_size = 300
query_cache_size = 1024M
query_cache_limit = 2M
thread_concurrency = 8
wait_timeout = 315360000
max_connections = 300
max_connect_errors=1844674407370954751
max_connect_errors = 10000
#event_scheduler=1

#innodb_log_file_size=256M
innodb_buffer_pool_size = 4094M  
innodb_additional_mem_pool_size = 32M
innodb_log_file_size = 1024M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_thread_concurrency=8
#innodb_sort_buffer_size=32M
innodb_open_files=4096
innodb_write_io_threads=2
innodb_read_io_threads=2
innodb_max_dirty_pages_pct = 90
innodb_file_per_table=1

[client]
socket=/tmp/mysql.sock
default-character-set=utf8

l  进入script目录

[root@inmscj10 mysql]# cd scripts/

[root@inmscj10 scripts]#  ./mysql_install_db --defaults-file=/home/mysql/my.cnf
--datadir=/home/mysql/data --basedir=/home/mysql

--指定my.cnf 的读取路径,否则默认读取/etc/my.cnf 。指定数据库存储路径/home/mysql/data

注:该处一定要指定数据库文件存放的路径,否则后面启动过程中会报错。

4、配置文件的修改、

l  修改环境配置,在.bash_profile 修改添加

PATH=$PATH:$HOME/bin:/home/mysql/bin

export PATH=$PATH:/home/mysql/bin

l  在 /etc/security/limits.conf 添加下列行,修改账号资源限制(按需配置)

mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65536
mysql hard nofile 65536

l  修改后重启脚本与查看修改情况

[mysql@gdcs1 java]$  source /etc/security/limits.conf

[mysql@gdcs1 java]$   ulimit -a

open files                      (-n) 65536

max user processes              (-u) 65536

PS:如需具体了解linux ulimit请参考:http://blog.csdn.net/wanghai__/article/details/6332540

l  mysql.server,这个文件是mysql的服务文件,通常这个文件被重新命名为mysql或mysqld,放入/etc/rc.d/init.d/目录下面

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

编辑该文件,修改对于的目录为正确的目录,如下

basedir=/home/mysql

datadir=/home/mysql/data

这样设置以后就可以用service  mysqld start/stop来启动关闭mysql服务。

注:也可以 /etc/rc.d/init.d/mysqld start 来进行启动数据库;

5、数据库服务启动

进入mysql的主目录:

[root@inmscj10
mysql]#  ./bin/mysqld_safe --defaults-file=/home/mysql/my.cnf --user=mysql
&

--初始化数据库,指定my.cnf 的读取路径,否则默认读取/etc/my.cnf

启动服务命令:

[root@inmscj10 mysql01]# service mysqld restart

或  [root@inmscj10 mysql01]#  /etc/rc.d/init.d/mysqld start

启动服务后,通过ps命令可以查看数据库的目录结构情况:

[root@inmscj10 mysql01]# ps -ef | grep mysql

--若有进程说明数据库已启动,若无说明数据库没启动;该描述为重点,可以迅速排查定位工具连接异常;

[root@inmscj10 mysql01]#  netstart -a |grep 3306

-- 用户查询mysql 3306 端口是否有被监听;

对相关目录进行授权

[root@inmscj10 ~]#chown mysql:mysql /home/mysql/  -R

--若mysql服务启动失败报错,检查权限,会有报错导致服务启动异常,起不来;

6、数据库用户配置

1)root用户设置密码

[root@inmscj10 ~]# mysqladmin -u root
password 'mysql'

2)数据登录

[root@inmscj10 ~]# mysql -u root -p

Enter password:

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

Your MySQL connection id is 4

Server version: 5.1.48-community MySQL
Community Server (GPL)

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

This software comes with ABSOLUTELY NO
WARRANTY. This is free software,

and you are welcome to modify and
redistribute it under the GPL v2 license

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

mysql>

3)给root用户配置远程访问权限,设置后可通过客户连接。

mysql> GRANT ALL PRIVILEGES on *.* to
'root'@'%' identified by 'illusioned';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4)增加一个develop的新用户并赋予所有权限

mysql> GRANT ALL PRIVILEGES ON *.* TO
develop@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;

给新用户远程登录操作权限

mysql> GRANT ALL PRIVILEGES on *.*
to 'develop'@'%' identified
by '123456';(赋予远程操作权限)

给新用户本地登录操作权限

mysql> GRANT ALL PRIVILEGES on *.*
to 'develop'@'localhost' identified
by '123456'; (赋予本地操作权限)

7、参数的设置与修改

mysql的的参数修改与设置有两种方法,一是通过修改参数文件(master.cnf)完成,参数文件有时候不完全,不存在的参数需要手工增加,但是修改参数文件的可能需要重启数据库才能生效;二是通过set命令来完成,这种情况不需要重启。

通过show VARIABLES
LIKE '....'来查看参数情况,如下:

mysql> show VARIABLES LIKE
'character%';

部分参数查看及设置如下:

1)开启事件调度

set global event_scheduler =1;

2)查看是否支持分区

show variables like '%partition%';

有的版本无法用此参数查看分区,则用下面语句。

show plugins;

确认partition是否为active状态

| partition                 
| ACTIVE   | STORAGE ENGINE     |
NULL    | PROPRIETARY |
3)查看调度任务创建情况

show events;

4)查看字符集

show variables like '%character%';

临时改变字符集

set names utf8

5)查看MYSQL打开文件数限制

show variables like 'open%';

show global status like 'open_%';

8、问题

问题一:

[ERROR] Fatal error: Can't open and lock privilege
tables: Table 'mysql.user' doesn't exist

FATAL ERROR: Could not find ./bin/my_print_defaults

问题原因:在初始化数据库的时候使用了默认路径安装数据库,但实际上配置文件已经修改了相关的数据库文件路径。

解决方法:如果改变了数据文件存放的目录,务必指定datadir位置

[root@inmscj10 scripts]# ./mysql_install_db 
--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data &

问题二:

ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock' (111)

问题原因:一些mysql安装将mysql.sock放在了/var/lib/mysql没有了下面,一些mysql放在了/tmp下面。由于以前机器上面已经安装了一个mysql客户端,mysql.sock位置不一样。

解决方法:在参数文件my.cnf中指定mysql.sock参数的路径。

[mysqld]
socket=/var/lib/mysql.sock

问题三:

error: 'Access denied for user 'root'@'localhost' (using
password: NO)'

问题原因:可能的原因是安装了数据库后,没有设置root密码;或者某些操作不当造成的。

解决方法:执行如下语句。

利用kill语句先停掉数据库服务,执行,

[root@inmscj10 mysql01]#.bin/mysqld_safe
./bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[root@inmscj10 mysql01]#.mysql -u root

mysql> use mysql

mysql> update user set password=PASSWORD(cattsoft)
where user='root'

mysql> flush privileges;

mysql> quit;

重启数据库服务

问题四:

[ERROR]
Plugin 'InnoDB' init function returned error.

问题原因:由于数据库初始化过程中少加了参数等一系列其他原因造成。

解决方法:删除MySQL目录下的ib_logfile0和ib_logfile1两个文件即可。

mysql for linux 数据库的安装过程的更多相关文章

  1. Mysql在linux下载、安装详情,附带mysql安装包路径

    对mysql在linux的安装网上很多,但是都比较坑人,mysql的下载.到用什么包安装,安装过程没有具体解析 我最痛苦的其实是找安装包,建议找.tar.gz安装包比较好(下面我为同胞们找到了mysq ...

  2. Mysql基于Linux上的安装

    MySQL 在Linux/Unix安装 所有平台的 MySQL 下载地址为: MySQL 下载 . 挑选需要的 MySQL Community Server 版本及对应的平台. 注意:安装过程需要通过 ...

  3. 初学mysql 如何删除数据库 如何安装mysql

    廖老师官网链接 这两个表格有个映射关系,就是根据Grade_ID可以在班级表中查找到对应的所有班级: 也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多 ...

  4. vmware下linux系统的安装过程

    虚拟机VMware下CentOS6.6安装教程图文详解 [日期:2016-05-24] 来源:Linux社区  作者:Sungeek [字体:大 中 小]   分享下,虚拟机VMware下CentOS ...

  5. mysql在linux上的安装

    前提: 环境:workstation 11 + CentOS 7 + mysql-5.6.40 安装前先查看服务器里是否有老版本的mysql已经被安装了 rpm -qa|grep mysql 如果有就 ...

  6. SQL监控:mysql及mssql数据库SQL执行过程监控审计

    转载 Seay_法师 最近生活有很大的一个变动,所以博客也搁置了很长一段时间没写,好像写博客已经成了习惯,搁置一段时间就有那么点危机感,心里总觉得不自在.所以从今天起还是要继续拾起墨笔(键盘),继续好 ...

  7. Linux下jdk安装过程

    注意:rpm 与软件相关命令 相当于 window 下的软件助手 管理软件 1 查看当前 Linux 系统是否已经安装 java 1)在命令窗口输入,可以查看系统自带的OpenJDK版本信息. jav ...

  8. Linux源码安装过程中选项—prefix的作用

    源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configu ...

  9. Linux mysql 5.5.10 二进制安装过程记录和 修改 密码 登录

    1.useradd clouder2.解压缩mysql.tar.bz2到/home/clouder2.mv /etc/my.cnf /etc/my.cnf.bak3./home/clouder/mys ...

随机推荐

  1. java学习面向对象之设计模式之单例模式

    就像上一节当中我们讲到的数组工具集一样,如果我们把他看作一个类,来应用,不阻止他new函数的话,这个类我们在整个过程当中我们只是用他来当一个工具.假如每次用都要new一下产生一个新对象的话,就会显得整 ...

  2. 80X86 分段机制(读书笔记)

    GDT(全局描述符表)本身并不是一个段,而是线性地址空间的一个数据结构.GDT的线性地址和长度必须加载进GDTR寄存器中.LDT(局部描述符表)存放在LDT类型的系统段中.此时GDT必须含有LDT的段 ...

  3. 从git上下载代码并导入eclipse

    主要分为两步: 1.先从git下载代码到本地git仓库 2.eclipse import导入存在的maven项目

  4. poj1006

    题目大意:生物节律 一些人相信有三种循环在一个人生命中从他或者她出生的那天起,这个三个周期是,身体,情绪,智力, 并且他们有23,28,和33天的时间,在每一个周期里面都有一个周期,在一个周期的高峰期 ...

  5. viewWillLayoutSubView

    当viewController的bounds又改变,调用这个方法来实现subview的位置.可重写这个方法来实现父视图变化subview跟着变化.                   > Lif ...

  6. openresty nginx 安装过程记录

    转载请注明原始地址 http://www.cnblogs.com/dongxiao-yang/p/4877799.html 一 :系统版本 1 cat /etc/issue: CentOS relea ...

  7. 【算法与数据结构】在n个数中取第k大的数(基础篇)

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 题目介绍            在n个数中取第k大的数(基础篇),之所以叫基础篇是因为还有很多更高级的算法,这些 ...

  8. 约瑟夫问题(Josephus Problem)的两种快速递归算法

    博文链接:http://haoyuanliu.github.io/2016/04/18/Josephus/ 对,我是来骗访问量的!O(∩_∩)O~~ 约瑟夫问题(Josephus Problem)也称 ...

  9. kubernetes kubeadm部署高可用集群

    k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境 ...

  10. HDU 4628 多校第三场1008 dp

    这题就没什么好说的了.直接枚举2 ^ 16 的状态,用1表示拿这位,0表示不拿,每次判断是否可以这么拿. #include <iostream> #include <cstdio&g ...