MySQL5.5编译安装和安装后的基本配置

使用的软件
cmake-2.8.8.tar.gz
mysql-5.5.28.tar.gz

编译安装MySQL5.5的步骤介绍
1.准备一块lvm磁盘用来存储MySQL的数据,以便后期存储空间的扩展。(可选)
2.编译安装cmake环境

mysql 5.5以前的版本可以使用make进行编译安装,但是mysql5.5以后的版本需要cmake进行编译安装了
redhat5 系列的版本是没有安装cmake工具的,redhat6以上的版本安装了cmake工具

3.创建MySQL的用户和组
4.编译安装MySQL
5.编译安装MySQL之后,删除MySQL自动建立的用户,以保证MySQL的安全

6.MySQL5.5默认使用InnoDB存储引擎,InnoDB存储方式为所有表共享一个表空间文件;
  建议:每表一个独立的表空间文件;否则一个表空间放了所有的表和索引文件后期管理起来非常麻烦

1.准备存储数据的空间(可选)

查看磁盘已经有了为配置lvm准备的磁盘了
[[email protected] ~]# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  8e  Linux LVM
创建lvm磁盘
[[email protected] ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
[[email protected] ~]# vgcreate myvg /dev/sdb1
  Volume group "myvg" successfully created
[[email protected] ~]# lvcreate -L 10G -n mydata myvg
  Logical volume "mydata" created
[[email protected] ~]# lvs
  LV     VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  mydata myvg -wi-a- 10.00G
格式化  
[[email protected] ~]# mke2fs -j /dev/myvg/mydata
设置开机自动挂载
[[email protected] ~]# vim /etc/fstab
/dev/myvg/mydata        /mydata                 ext3    defaults        0 0
创建文件夹并且挂载
[[email protected] ~]# mkdir /mydata
[[email protected] ~]# mount -a

2.编译安装cmake环境
编译安装cmake-2.8.8
[[email protected] ~]# tar xf cmake-2.8.8.tar.gz
[[email protected] ~]#cd cmake-2.8.8
[[email protected] cmake-2.8.8]# ./configure && make && make install

3.创建MySQL的用户和组
[[email protected] ~]# groupadd -r mysql
[[email protected] ~]# useradd -r -g mysql -s /sbin/nologin mysql
创建存放数据的目录并且设置属主和属组为MySQL
[[email protected] ~]# mkdir /mydata/data
[[email protected] ~]# chown -R mysql.mysql /mydata/data/

4.编译安装mysqlmysql-5.5.28
[[email protected] ~]# tar xf mysql-5.5.28.tar.gz
[[email protected] ~]# cd mysql-5.5.28
[[email protected] mysql-5.5.28]# cmake . -LH  #生成编译时的头文件库文件=./configure --help    cmake . -LH
[[email protected] mysql-5.5.28]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci
[[email protected] ~]#make && make install
编译完成之后更改mysql的安装目录属组为mysql
[[email protected] ~]# chown -R :mysql /usr/local/mysql/
初始化mysql数据库
[[email protected] mysql-5.5.28]# cd /usr/local/mysql/
[[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
添加样例文件和系统服务
[[email protected] mysql]# cp support-files/my-large.cnf /etc/my.cnf
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list mysqld
mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
启动mysql
[[email protected] mysql]# service mysqld start

为了能够直接使用mysql客户端工具,需要编辑profile.d文件,把mysql客户端工具添加到命令路径
[[email protected] mysql]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# . /etc/profile.d/mysql.sh
[[email protected] mysql]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

这时就可以使用客户端命令连接进来了
[[email protected] mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.28-log Source distribution

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

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

5.删除MySQL安装时自带的匿名用户,然后给管理员设置密码

查看mysql的用户
mysql> SELECT User,Host,Password FROM user;
+------+-----------------------+----------+
| User | Host                  | Password |
+------+-----------------------+----------+
| root | localhost             |          |
| root | localhost.localdomain |          |
| root | 127.0.0.1             |          |
| root | ::1                   |          |
|      | localhost             |          |
|      | localhost.localdomain |          |
+------+-----------------------+----------+
6 rows in set (0.00 sec)

删除两个匿名用户和给管理员设置密码
mysql> DROP USER ‘‘@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP USER ‘‘@‘localhost.localdomain‘;
Query OK, 0 rows affected (0.00 sec)

mysql> UPdata user SET Password=PASSWORD(‘redhat‘) WHERE user=‘root‘;
如果不使用ipv6地址也可以把::1这个用户删除
mysql> DROP USER ‘root‘@‘::1‘;
Query OK, 0 rows affected (0.00 sec)

在查看匿名用户都被删除了,而且root都上了密码
mysql> SELECT User,Host,Password FROM user;
+------+-----------------------+-------------------------------------------+
| User | Host                  | Password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
| root | localhost.localdomain | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
| root | 127.0.0.1             | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 |
+------+-----------------------+-------------------------------------------+
3 rows in set (0.00 sec)

退出时刷新权限相关的表
mysql> FLUSH PRIVILEGES;

退出mysql是在使用mysql命令就连接不进来了,要连接需要指定用户名和密码
[[email protected] mysql]# mysql
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
[[email protected] mysql]# mysql -uroot -p
Enter password:

6.存储引擎设置

查看存储引擎
mysql> show engines;

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

Engine :引擎的名称
Support:是否支持,DEFAULT表示默认存储引擎
Comment:对引擎的简要描述
Transactions:是否支持事务
XA:分布式事务
Savepoints:保存点

MyISAM:
    每表三个文件:
        .frm: 表结构
        .MYD:表数据
        .MYI:表索引

InnoDB:
    所有表共享一个表空间文件;
    建议:每表一个独立的表空间文件;否则一个表空间放了所有的表和索引文件后期管理起来非常麻烦
        .frm: 表结构
        .ibd: 表空间(表数据和表索引)

设置每个表使用一个独立的表空间文件
[[email protected] mysql]# vim /etc/my.cnf
innodb_file_per_table = 1
[[email protected] mysql]# service mysqld restart
mysql查看innodb_file_per_table 是否启用
mysql> SHOW GLOBAL VARIABLES LIKE ‘%innodb%‘;
innodb_file_per_table           | ON

创建一个数据库和表
mysql> CREATE DATABASE mydb;
Query OK, 1 row affected (0.00 sec)

mysql> USE mydb;
Database changed
mysql> CREATE TABLE testdb(id INT NOT NULL,name CHAR(30));
Query OK, 0 rows affected (0.01 sec)
查看数据库存放位置的表空间就会看到mydb只有一个表空间文件
[[email protected] mysql]# cd /mydata/data
[[email protected] data]# cd mydb/
[[email protected] mydb]# ls
db.opt  testdb.frm  testdb.ibd

db.opt定义数据库的默认排序规则和字符集

安装完mysql数据库并且初始化后,自动生成的mysql数据库是使用MyISAM存储引擎,要是自己建表取决于自己设置的默认存储引擎

查看表的属性信息
mysql> SHOW TABLE STATUS LIKE ‘user‘\G
*************************** 1. row ***************************
           Name: user
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 3
 Avg_row_length: 124
    Data_length: 372
Max_data_length: 281474976710655
   Index_length: 2048
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2014-11-16 19:12:16
    Update_time: 2014-11-16 19:41:14
     Check_time: NULL
      Collation: utf8_bin
       Checksum: NULL
 Create_options:
        Comment: Users and global privileges
1 row in set (0.00 sec)

时间: 2024-10-14 02:47:26

MySQL5.5编译安装和安装后的基本配置的相关文章

安装完SAP后BASIS的配置流程

安装完SAP后BASIS配置流程 安装完SAP后,配置流程. 1.升级kernel. 2.TCD SLICENSE: License Administration install > System Num. & license key 3.TCD STMS: Transport Management System 4.DDIC登录,密码为:19920706 SU01,从用户SAP* COPY一个自己的用户. 5.安装PATCH, ADD ON: 先安装语言包,再安装patch. 6.back

在VM中最小化安装CentOS 7后的网络配置

1.点击虚拟网络编辑器:2.选择VMnet0为桥接模式,选择自动或者网卡3.右键VMware Network Adapter 属性4.选中VMware Bridge Protocol 5.选择共享6.返回网络7.虚拟机设置 8.进入CentOS 7 系统进行操作 9.查看当前网卡信息[[email protected] ~]# nmcli connection show NAME UUID TYPE DEVICE ens33 5dfbfd07-c796-49cb-a837-468af72b6d2

mysql5.5编译安装过程(自己总结)

一,安装过程 //创建mysql安装目录,创建数据存放目录,创建用户和用户组与赋予数据存放目录权限 mkdir -p /usr/local/mysql/ mkdir -p /data/mysql/ groupadd mysql useradd -g mysql mysql chown mysql:mysql -R /data/mysql/ //安装cmake (mysql5.5以后是通过cmake来编译的) wget http://www.cmake.org/files/v2.8/cmake-2

mysql5.7 基于二进制编译多实例安装

mysql5.7 基于二进制编译多实例安装 cd /usr/local/src/wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gztar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql创建

sqlite安装与封装后编译

========================安装sqlite=================官网下载安装包*.tar.gz格式./configure --prefix=/usr/server/sqlit 安装包目录makemake install 测试安装成功 sqlite3 test.db =======================编译====================编译时 加入参数 -I /usr/server/sqlite/include-L /usr/server/sq

在CentOS上编译安装MySQL+安装问题解决+安全优化

0.说明 当然,MySQL的安装方法多种多样,在CentOS上,你可以采用YUM的方式安装,这样的好处是:快速方便.基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要YUM执行完成,那么MySQL也就可以使用了. 但我更倾向于使用编译的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助! 但即便是按照官方文档来安装,你也会遇到各种各样的问题,这里,我将呈现一个完整的过程给大家,直到完成下面的

PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?

按照如下教程: LAMP一键安装包-CentOS 5/6下自动编译安装Apache.MySQL.PHP 在虚拟机的CentOS5.5中,一键安装了PHP运行环境,但发现并没有 soap 扩展,而近期项目用需要用到 webservice. 上述的一键安装(lamp0.4),其实是源码编译安装,PHP配置文件的路径为 /etc/php.ini ,安装后,遗留的文件目录为 “/home/jianbao/2/lamp0.4”,里面的文件列表为: [[email protected] lamp0.4]#

MySQL-5.5.38通用二进制安装

1.系统环境:CentOS 6.5_x86 2.mysql-5.5.38-linux2.6-i686.tar.gz MySQL 二进制分发版的文件名格式为 mysql-VERSION-OS.tar.gz,其中 VERSION 是版本号(例如,5.1.51),OS表示分发版安装的操作系统类型(例如,linux-i686). 为什么要使用通用二进制包? 由于经常要安装MySQL做测试用,一般都是采用源码方式安装的,但是由于源码安装需要编译很长时间,虽然源码编译性能较好,但是我们完全可以通过配置文件来

基于源码编译和yum安装的LNP+MYSQL主从实战

1.基于源码编译安装的LNP+MYSQL主从实战准备3台服务器,其中一台作为Nginx WEB服务器+PHP-FPM(FastCGI),另外两台作为MYSQL主从服务器,服务器IP信息:? 10.10.10.4-Linux+Nginx+PHP? 10.10.10.5-MYSQL Master:? 10.10.10.6-MYSQL Slave:? 1) Nginx安装配置? #安装PCRE库和基础库支持? yum install pcre-devel pcre gcc-c++ openssl op

centos 安装memcache服务后memcahce本机连接Permission

自己手动在虚拟机下装了下memcache,整个过程真是充满波折,本身用php5.3安装memcache扩展就麻烦很多,无法通过yum直接安装,安装方法详见http://chenwei.me/blog/server/69.html,接下来安装memcache服务,安装成功后,telnet可以成功,不过好像不是立即成功生效,过一会用stats才会有详细显示. 本机用 <?php $mem = new Memcache; $mem->connect(‘192.168.124.129′,11211)