MySQL-5.5.28编译安装

编译安装MySQL-5.5

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

编译安装MySQL-5.5

一、安装开发环境
[[email protected] ~]#  yum install "Compatibility libraries" "Development tools" "gcc-c++"

二、编译安装cmake

[[email protected] ~]#  https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
[[email protected] ~]#  tar xf cmake-3.4.1.tar.gz
[[email protected] ~]#  cd cmake-3.4.1
[[email protected] cmake-3.4.1]#  ./bootstrap
[[email protected] cmake-3.4.1]#  make 
[[email protected] cmake-3.4.1]#  make install

三、准备MySQL数据目录分区
[[email protected] ~]# fdisk /dev/sda 

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) and change display units to
         sectors (command ‘u‘).

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7dd89809

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1306    10490413+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   20971520 sda
   8        1   10490413 sda1
   8       16   20971520 sdb
   8       17     512000 sdb1
   8       18   20458496 sdb2
 253        0   18423808 dm-0
 253        1    2031616 dm-1
[[email protected] ~]# pvcreate /dev/sda1 
  Physical volume "/dev/sda1" successfully created
[[email protected] ~]# vgcreate myvg /dev/sda1
  Volume group "myvg" successfully created
[[email protected] ~]# lvcreate -L 5G -n mylv myvg
  Logical volume "mylv" created
[[email protected] ~]# mke2fs -j /dev/mapper/myvg-mylv 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[[email protected] ~]# mkdir /mydata
[[email protected] ~]# vim /etc/fstab 
[[email protected] ~]# tail -1 /etc/fstab						# 加入开机自启动列表
/dev/mapper/myvg-mylv	/mydata		ext3	defaults	0 0
[[email protected] ~]# mount -a
[[email protected] ~]# mkdir /mydata/data
[[email protected] ~]# ls /mydata
data  lost+found
[[email protected] ~]# chown -R  mysql.mysql /mydata/data
[[email protected] ~]# ll /mydata/data -d
drwxr-xr-x 2 mysql mysql 4096 Dec 19 20:34 /mydata/data

四、创建mysql用户
[[email protected] ~]#  groupadd -r mysql
[[email protected] ~]#  useradd -g mysql -r -d /mydata/data mysql

五、下载并编译安装mysql-5.5.28
[[email protected] tmp]#  wget https://downloads.mariadb.com/archives/mysql-5.5/mysql-5.5.28.tar.gz
[[email protected] tmp]#  tar xf mysql-5.5.28.tar.gz 
[[email protected] tmp]#  cd mysql-5.5.28
[[email protected] tmp]#  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_SSL=system 		  -DWITH_ZLIB=system 		  -DWITH_LIBWRAP=0 		  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 		  -DDEFAULT_CHARSET=utf8           -DDEFAULT_COLLATION=utf8_general_ci
 Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
[[email protected] mysql-5.5.28]#  yum install -y ncurses-devel
[[email protected] mysql-5.5.28]#  rm -f CMakeCache.txt
[[email protected] mysql-5.5.28]#  make 
[[email protected] mysql-5.5.28]#  make install

六、MySQL的初始化工作
[[email protected] mysql-5.5.28]# cd /usr/local/mysql
[[email protected] mysql]# pwd
/usr/local/mysql
[[email protected] mysql]# ls
bin  COPYING  data  docs  include  INSTALL-BINARY  lib  man  mysql-test  README  scripts  share  sql-bench  support-files
[[email protected] mysql]# chown -R .mysql .
[[email protected] mysql]# ll
total 76
drwxr-xr-x  2 root mysql  4096 Dec 19 21:09 bin
-rw-r--r--  1 root mysql 17987 Aug 29  2012 COPYING
drwxr-xr-x  4 root mysql  4096 Dec 17 16:03 data
drwxr-xr-x  2 root mysql  4096 Dec 19 21:09 docs
drwxr-xr-x  3 root mysql  4096 Dec 19 21:09 include
-rw-r--r--  1 root mysql  7604 Aug 29  2012 INSTALL-BINARY
drwxr-xr-x  3 root mysql  4096 Dec 19 21:09 lib
drwxr-xr-x  4 root mysql  4096 Dec 12 10:39 man
drwxr-xr-x 10 root mysql  4096 Dec 19 21:09 mysql-test
-rw-r--r--  1 root mysql  2552 Aug 29  2012 README
drwxr-xr-x  2 root mysql  4096 Dec 19 21:09 scripts
drwxr-xr-x 27 root mysql  4096 Dec 17 13:50 share
drwxr-xr-x  4 root mysql  4096 Dec 19 21:09 sql-bench
drwxr-xr-x  2 root mysql  4096 Dec 19 21:09 support-files

[[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

./bin/mysqladmin -u root password ‘new-password‘
./bin/mysqladmin -u root -h CentOS6.5 password ‘new-password‘

Alternatively you can run:
./bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl

Please report any problems with the ./bin/mysqlbug script!
       
[[email protected] mysql]# cp support-files/my-large.cnf /etc/my.cnf
[[email protected] mysql]# vim /etc/my.cnf
[[email protected] mysql]# grep -C 1 "datadir" /etc/my.cnf 	# 修改第一项,增加第二和第三项
thread_concurrency = 8
datadir = /mydata/data
innodb_file_per_table = 1
[[email protected] mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list mysqld
mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:off

七、导出MySQL的PATH环境变量与头文件
[[email protected] mysql]# echo ‘export PATH=$PATH:/usr/local/mysql/bin‘ > /etc/profile.d/mysqld.sh
[[email protected] mysql]# . /etc/profile.d/mysqld.sh
[[email protected] mysql]# ln -sv /usr/local/mysql/include  /usr/include/mysql

八、启动之后连接MySQL,删除匿名用户、设置root密码及远程访问授权
[[email protected] mysql]# service mysqld start
Starting MySQL... SUCCESS! 

(1)、删除匿名用户
[[email protected] mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.28-log Source distribution

Copyright (c) 2000, 2013, 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> SELECT User,Host,Password FROM mysql.user;
+------+-----------+----------+
| User | Host      | Password |
+------+-----------+----------+
| root | localhost |          |
| root | CentOS6.5 |          |
| root | 127.0.0.1 |          |
| root | ::1       |          |
|      | localhost |          |
|      | CentOS6.5 |          |
+------+-----------+----------+
5 rows in set (0.00 sec)

mysql> DROP USER ‘‘@‘CentOS6.5‘;
Query OK, 0 rows affected (0.01 sec)

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

mysql> exit
Bye

(2)、设置root用户密码
mysql> UPDATE mysql.user SET Password=PASSWORD(‘redhat‘) WHERE User=‘root‘;
Query OK, 4 rows affected (0.06 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

(3)、远程访问授权
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘redhat‘;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
时间: 2024-11-07 09:58:05

MySQL-5.5.28编译安装的相关文章

      Mysql的介绍以及编译安装mariadb

一:mysql的介绍: mysql数据库是工作于线程模式的.是一种关系型数据库,有严格的数据模型结构,这样在并发读写量大的时候,就不得不对其进行扩展,而这种方式扩展还是非常麻烦的. 由于读操作是可以缓存的,所以我们可以为mysql提供缓存服务器. 程序读取数据时先查缓存服务器,再查mysql数据库,这样如果缓存有访问的内容,那么就可以节省 访问时间. 二:关系型数据管理系统 RDBMS 关系模型中主要组件: 数据方案:数据库 表,视图(虚表,基于某种关系用语句形成的),索引, 存储过程,存储函数

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次【原创】

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次 1.[备份指定数据库]不要用逗号mydb hellodb [[email protected] ~]# mysqldump -uroot -p  --databases mydb hellodb  > /tmp/all.sql [修改ENGINE=MyISAM 为 ENGINE=InnoDB] [[email protected] home]# cp hellodb.sql hellodb.sql.bak

【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

[需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数据文件的安装目录为:/application/mysql-5.5.32/data MySQL默认的字符编码为:UTF8 [环境参数] VMware:10.0.1 Host:Win7 DB:MySql 5.5.32 编译工具:cmake-2.8.8.tar.gz 其他依赖:ncurses-devel-

mysql 5.6.41编译安装详细步骤

转自:https://www.cnblogs.com/netsa/p/7088494.html 简略步骤: mysql5.6.41编译安装步骤: 下载mysql准备用户和组yum安装依赖解压mysqlcmake编译mysqlmake && make install ----时间约10分钟mysql安装目录权限设置数据库初始化拷贝配置文件root密码重置,原来是没密码的远程账户授权设置服务启动和开机启动 ======实战============================== 1 #安装

CentOS下MySQL 5.7.9编译安装

MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的 更好的InnoDB存储引擎 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库.此外,GTID在线平滑升级也变得可能 更好的优化器:优化器代码重构的意义将在

Mysql 5.7.17 编译安装

环境准备: mysql 安装包:mysql-5.7.17.tar.gz yum源: [[email protected]_1 ~]# cat /etc/yum.repos.d/server.repo [local] name=local baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1 [[email protected]_1 ~]# 系统版本: [[email protected]_1 ~]# cat /etc/redhat-release Cent

趁一切还来得及【一】数据库MySQL基础知识及编译安装

此情更待成追忆,只是当时已惘然.                                        --[唐]李商隐 第一章 数据库概述及分类特点应用 1.1 数据库种类.语言处理.典型产品 ①数据库的理解:就是一个存放数据的仓库,这个仓库是按照一定的数据结构,来组织和存储的.可以通过数据库提供的多种方法来管理数据库. ②数据库的种类:按照早期的数据库理论分为层次数据库.网络式数据库.和关系型数据库.当今互联网最常用的就是关系型数据库和非关系型数据库(NOSQL). ③关系型数据库:

MySQL与PHP的编译安装

mysQL安装: #tar xf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local #group add mysql #useradd -g mysql -s /sbin/nologin -M mysql #id mysql #cd /usr/local/mysql #chown -R mysql:mysql #script/my_install_db --help ------------------------------------------

mysqld_multi配置MySQL多实例(编译安装的mysql)

1编译安装mysql tar zxf mysql-5.1.73.tar.gz cd mysql-5.1.73 ./configure --prefix=/usr/local/mysql \ --enable-assembler \ --with-extra-charsets=complex \ --enable-thread-safe-client \ --with-big-tables \ --with-readline \ --with-ssl \ --with-embedded-serve