cmake编译安装MySQL5.5.32
注意:在虚拟机cmake安装mysql5.5.32时,将虚拟机内存调至2G。(原创,请勿转载!)一、安装MySQL依赖包
# yum install pcre pcre-devel openssl openssl-devel gcc-c++ ncurses-devel -y
二、安装cmake
官网:https://cmake.org/download/
# mkdir /home/eleven/tools
# cd /home/eleven/tools/
# wget https://cmake.org/files/v3.9/cmake-3.9.0.tar.gz
# tar xf cmake-3.9.0.tar.gz
# cd cmake-3.9.0
# ./configure
# gmake
# gmake install
# /usr/local/bin/cmake --version
cmake version 3.9.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
#cmake安装结束,也可以把gmake,gmake install改为make, make install。
#cmake命令默认路径/uer/local/bin/camke,编译mysql用全路径即可。
# /usr/local/bin/cmake --version,查看版本,说明cmake安装正常。
++++++++++++++++++++++++++++++++++
cmake的一些错误做法:
#将cmake命令复制到/usr/bin。
#使用which camke命令查看。
#使用cmake命令编译mysql,都会提示出错。
#必须用全路径 /usr/local/bin/cmake。
错误如下:
# which cmake
/usr/bin/which: no cmake in (/sbin:/bin:/usr/sbin:/usr/bin)
# cp /usr/local/bin/cmake /usr/bin/
# which cmake
/usr/bin/cmake
# cmake --version
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/usr/share/cmake-3.9
cmake version 3.9.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
三、cmake编译安装MySQL5.5.32
1、上传mysql5.5.32.tar.gz
# rz
# tar xf mysql-5.5.32.tar.gz
# useradd mysql -s /sbin/nologin -M
# cd mysql-5.5.32
# /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
-DDEFAULT_CHARSET=utf8 \ #不需要此行
-DDEFAULT_COLLATION=utf8_general_ci \ #不需要此行
为了让默认字符集是什么,就不指定字符集了。
删掉指定字符那两行后,就是默认字符集了,删掉后再编译安装。
# make
# make install
# ln -s /application/mysql-5.5.32/ /application/mysql
# cp support-files/my-small.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
# cp /application/mysql/bin/mysql /usr/local/bin/
#如果提示命令不存在,就把mysql命令复制到/usr/bin/目录下。
# chown -R mysql.mysql /application/mysql/data/
# chmod -R 1777 /tmp/
# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
# vim /etc/init.d/mysqld
basedir=/application/mysql
datadir=/application/mysql/data
# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
# mysql
bash: mysql: command not found
# cp /application/mysql/bin/mysql /usr/bin
# mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | cmake |
| root | cmake |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
mysql> drop user ""@"cmake";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ""@"localhost";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user "root"@"::1";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user "root"@"cmake";
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
mysql> quit;
Bye
# /application/mysql/bin/mysqladmin -u root password 'ele1958'
# mysql -u root -pele1958
页:
[1]