mysql for linux 数据库的安装过程

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用户/账号

[[email protected] ~]#  groupadd mysql         --增加组

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

[[email protected] ~]#  passwd mysql    --修改密码

[[email protected] ~]#

2、创建目录

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

[[email protected] ~]# mkdir -p /home/

[[email protected] ~]# tar -zxvf mysql-advanced-5.6.12-linux-glibc2.5-x86_64.tar.gz

[[email protected] ~]# mv mysql-advanced-5.6.12-linux-glibc2.5-x86_64 /home/mysql

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

[[email protected] mysql]# mkdir logs

l  对相关目录进行授权

[[email protected] ~]#cd /home/mysql/

[[email protected] mysql]#chown -R root

[[email protected] mysql]#chown -R mysql data

[[email protected] mysql]#chgrp -R mysql

3、初始化数据库

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

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

[[email protected] support-files]# cp my-default.cnf -C /home/mysql/my.cnf

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

[mysqld]
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

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目录

[[email protected] mysql]# cd scripts/

[[email protected] scripts]#
./mysql_install_db --defaults-file=/home/mysql/my.cnf
--datadir=/home/mysql/data --basedir=/home/mysql

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

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  修改后重启脚本与查看修改情况

[[email protected] java]$  source /etc/security/limits.conf

[[email protected] 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/目录下面

[[email protected] support-files]# cp
mysql.server  /etc/rc.d/init.d/mysqld

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

basedir=/home/mysql

datadir=/home/mysql/data

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

遗留问题:由于修改了配置文件的路径和文件名,但在服务文件mysqld中指定的配置文件路径仍然是/etc/my.cnf,所以,在启动和关闭mysql数据用service mysqld start/stop会有问题(不能读到正确的参数文件)

5、数据库服务启动

进入mysql的主目录:

[[email protected]
mysql]#.bin/mysqld_safe --defaults-file=/home/mysql/my.cnf --user=mysql
&     --初始化数据库

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

[[email protected] mysql01]# ps -ef | grep mysql

6、数据库用户配置

1)root用户设置密码

[[email protected] ~]# mysqladmin -u root
password ‘mysql‘

2)数据登录

[[email protected] ~]# 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
[email protected]"%" 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位置

[[email protected] 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语句先停掉数据库服务,执行,

[[email protected] mysql01]#.bin/mysqld_safe
./bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[[email protected] 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两个文件即可。

时间: 2024-08-05 07:03:42

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

linux下lrzsz安装过程,SecureCRT上传下载文件工具

linux下lrzsz安装过程,SecureCRT上传下载文件工具 1.从下面的地址下载 lrzsz-1.12.20.tar.gz http://down1.chinaunix.net/distfiles/lrzsz-0.12.20.tar.gz 2.查看里面的INSTALL文档了解安装参数说明和细节 3.解压文件 tar zxvf lrzsz-1.12.20.tar.gz 4.进入目录 cd lrzsz-1.12.20 5../configure --prefix=/usr/local/lrz

shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维

前言: linux中安装mysql以及配置的管理, 基础的运维和管理还是需要会一些的. 这边作下笔记, 以求天天向上(^_^). 安装流程:*). 安装mysql-server1). 借助yum检索相关的mysql rpm包yum search mysqlmysql-server.x86_64 正是我们想要的 2). 安装mysql-serveryum install mysql-server.x86_64 -y默认mysql-client也安装好 3). 启动mysql服务/etc/init.

mysql在linux上的安装之二(mysql源码安装)

1.下载相应的mysql安装源码包 地址为:http://dev.mysql.com/downloads/mysql/5.1.html 2.如果以前安装过则卸载无用过旧的已安装的mysql 由于很多linux发行版,都预装了相应的mysql,一般都是rpm形式的安装,且mysql的版本都是比较低的(这个可能是由于兼容性测试的考虑吧).因此在自己亲自安装mysql之前,请先卸载这些过旧的mysql,保证我们系统的"纯净". 使用如下命令查询系统中安装的mysql: rpm -qa|gre

Redis在linux上的安装过程 和遇到的问题

我的安装系统是 :Red Hat Enterprise Linux 5.5 下面是安装过程及一些遇到的问题: 1.下载安装包 [[email protected] ~]$ wget http://download.redis.io/releases/redis-2.6.13.tar.gz 2.解压缩 [[email protected] ~]# tar xzf redis-2.6.13.tar.gz 3.编译    [[email protected] ~]# cd redis-2.6.13 [

vmware下linux系统的安装过程

虚拟机VMware下CentOS6.6安装教程图文详解 [日期:2016-05-24] 来源:Linux社区  作者:Sungeek [字体:大 中 小] 分享下,虚拟机VMware下CentOS6.6安装教程图文详解. CentOS 6.6 发布下载 地址: http://www.linuxidc.com/Linux/2014-10/108554.htm 1.首先要下载一个centos的iso镜像,我是用虚拟机VMware来安装的,用VMware最好创建一个空白硬盘. 2.创建完毕再设置里面挂

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

最近生活有很大的一个变动,所以博客也搁置了很长一段时间没写,好像写博客已经成了习惯,搁置一段时间就有那么点危机感,心里总觉得不自在.所以从今天起还是要继续拾起墨笔(键盘),继续好好维护这个博客,写出心里最真实的想法,写出平时接触到的一些人和事以及一些新的技术.当然写博客也不是单纯的为了记录,也想通过博客来结交更多的朋友,今天在公司图书馆看到一句话大致说的是“在今天这个年代,已经很难等到三顾茅庐,诸葛亮也需要博客.微博和影响力”,在一年前就曾想过写一篇关于怎样通过博客来提高个人影响力的文章,我会尽

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

源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下: -bash-3.00# ./configure --helpUsage: configure [options] [host]Options: [defaults in brackets aft

Mysql在linux下的安装

1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 2.解压 1 2 3 4 #解压 tar -zxvf mysql-5.6.

mysql在linux上的安装之二(mysql源代码安装)

1.下载对应的mysql安装源代码包 地址为:http://dev.mysql.com/downloads/mysql/5.1.html 2.假设曾经安装过则卸载无用过旧的已安装的mysql 因为非常多linux发行版,都预装了对应的mysql,一般都是rpm形式的安装,且mysql的版本号都是比較低的(这个可能是因为兼容性測试的考虑吧).因此在自己亲自安装mysql之前,请先卸载这些过旧的mysql,保证我们系统的"纯净". 使用例如以下命令查询系统中安装的mysql: rpm -q