cmake编译安装mysql
运维开发技术交流群欢迎大家加入一起学习(QQ:722381733)
前言:这里我使用的安装方式是(cmake编译),我选择的版本是:cmake-2.8.8.tar.gz、mysql-5.5.32.tar.gz
[root@mysql package]# ll total 29580 -rw-r--r-- 1 root root 5691656 May 29 11:52 cmake-2.8.8.tar.gz -rw-r--r-- 1 root root 24596474 May 29 11:53 mysql-5.5.32.tar.gz [root@mysql package]#
一、安装cmake
1、解压cmake压缩包
[root@mysql package]# tar xf cmake-2.8.8.tar.gz [root@mysql package]# ls cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz [root@mysql package]#
2、解析
[root@mysql package]# cd cmake-2.8.8 [root@mysql cmake-2.8.8]# ./configure --------------------------------------------- CMake 2.8.8, Copyright 2000-2011 Kitware, Inc. Found GNU toolchain C compiler on this system is: gcc C++ compiler on this system is: g++ Makefile processor on this system is: gmake g++ is GNU compiler g++ has STL in std:: namespace g++ has ANSI streams g++ has streams in std:: namespace
3、安装
[root@mysql cmake-2.8.8]# echo $? 0 [root@mysql cmake-2.8.8]# gmake && gmake install Scanning dependencies of target cmIML_test [ 1%] Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test.c.o [ 1%] Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_ABI_C.c.o [ 1%] Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_INT_C.c.o [ 1%] Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_include_C.c.o [ 2%] Building CXX object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_ABI_CXX.cxx.o [ 2%] Building CXX object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_INT_CXX.cxx.o [ 2%] Building CXX object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_include_CXX.cxx.o
注:安装完成后,记得使用“echo $?”,检查下!输出0表示成功,输出1表示失败。
二、开始安装mysql
1、首先需要安装(ncurses-devel)依赖包
[root@mysql cmake-2.8.8]# cd .. [root@mysql package]# yum install ncurses-devel -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * extras: centos.ustc.edu.cn * updates: mirrors.zju.edu.cn Resolving Dependencies --> Running transaction check ---> Package ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 will be installed
#############安装完成后检查###########
[root@mysql package]# rpm -aq|grep ncurses-devel
ncurses-devel-5.9-14.20130511.el7_4.x86_64
[root@mysql package]#
2、解压mysql压缩包
[root@mysql package]# tar xf mysql-5.5.32.tar.gz [root@mysql package]# ls cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32 mysql-5.5.32.tar.gz [root@mysql package]#
3、创建虚拟用户
[root@mysql package]# useradd mysql -s /sbin/nologin -M [root@mysql package]# id mysql uid=1000(mysql) gid=1000(mysql) groups=1000(mysql) [root@mysql package]#
4、配置解析
[root@mysql package]# cd mysql-5.5.32 [root@mysql mysql-5.5.32]# [root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 -DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -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
5、安装
[root@mysql mysql-5.5.32]# make && make install Scanning dependencies of target INFO_BIN [ 0%] Built target INFO_BIN Scanning dependencies of target INFO_SRC [ 0%] Built target INFO_SRC Scanning dependencies of target abi_check [ 0%] Built target abi_check Scanning dependencies of target zlib
6、创建软连接
[root@mysql mysql-5.5.32]# ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql [root@mysql mysql-5.5.32]# readlink /usr/local/mysql /usr/local/mysql-5.5.32/ [root@mysql mysql-5.5.32]#
7、配置环境
[root@mysql mysql-5.5.32]# cd .. [root@mysql package]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile [root@mysql package]# tail -1 /etc/profile export PATH=/usr/local/mysql/bin:$PATH [root@mysql package]# source /etc/profile [root@mysql package]# echo $PATH /usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@mysql package]#
8、拷贝、查看、设置属主、及添加tmp权限
[root@mysql package]# \cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf [root@mysql package]# ll /usr/local/mysql/data/ total 0 drwxr-xr-x 2 root root 20 May 31 11:51 test [root@mysql package]# chown -R mysql.mysql /usr/local/mysql/data/ [root@mysql package]# chmod -R 1777 /tmp/ [root@mysql package]#
9、初始化数据库
[root@mysql package]# cd /usr/local/mysql/scripts/ [root@mysql scripts]# ./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql Installing MySQL system tables... OK Filling help tables... OK
注:看到两个ok表示成功
10、设置开机启动
[root@mysql scripts]# cd /package/mysql-5.5.32 [root@mysql mysql-5.5.32]# /bin/cp support-files/mysql.server /etc/init.d/mysqld [root@mysql mysql-5.5.32]# chmod +x /etc/init.d/mysqld [root@mysql mysql-5.5.32]# chkconfig --add mysqld [root@mysql mysql-5.5.32]# chkconfig mysqld on [root@mysql mysql-5.5.32]# chkconfig --list mysqld Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@mysql mysql-5.5.32]#
11、启动mysql数据库
[root@mysql mysql-5.5.32]# /etc/init.d/mysqld start Starting MySQL.. SUCCESS! [root@mysql mysql-5.5.32]#
12、查看端口进程
[root@mysql mysql-5.5.32]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 51146 mysql 10u IPv4 82600 0t0 TCP *:mysql (LISTEN) [root@mysql mysql-5.5.32]# netstat -lnutp|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 51146/mysqld [root@mysql mysql-5.5.32]# ps -ef|grep 3306 mysql 51146 50900 0 14:13 pts/1 00:00:00 /usr/local/mysql-5.5.32/bin/mysqld --basedir=/usr/local/mysql-5.5.32 --datadir=/usr/local/mysql-5.5.32/data --plugin-dir=/usr/local/mysql-5.5.32/lib/plugin --user=mysql --log-error=/usr/local/mysql-5.5.32/data/mysql.err --pid-file=/usr/local/mysql-5.5.32/data/mysql.pid --socket=/usr/local/mysql-5.5.32/tmp/mysql.sock --port=3306 root 51170 16240 0 14:14 pts/1 00:00:00 grep --color=auto 3306 [root@mysql mysql-5.5.32]#
注:如果要重新初始化只要删除data目录库文件存储地或者新建一个库文件存储地,重新初始化,提示两个ok就是成功
##这里就基本上安装好了,有没有觉得比make&&make install高大上一点哈,下面是一些mysql的优化。
三、mysql数据的一些小优化
这里就不一一说明了,主要是自己懒而且菜,希望能满足大伙的工作要求
进入数据库
mysql 查看所有用户 select user,host from mysql.user; (方式一)删除系统默认的 delete from mysql.user where user=''; delete from mysql.user where host='主机名'; delete from mysql.user where host='::1'; select user,host from mysql.user; ##### 只保留这两个 ####### mysql> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | localhost | +------+-----------+ 2 rows in set (0.00 sec) mysql> ######################### 删除test库 drop database test; show databases; (方式二)干脆把全部删除了,添加额外的管理员 删除全部用户 delete from mysql.user; 添加额外的授权管理员用户 grant all privileges on *.* to system@'localhost' identified by '123456' with grant option; 字符集路径 vi /etc/locale.conf #centos7 vi /etc/sysconfig/il8n #centos6 mysql创建密码 /application/mysql//bin/mysqladmin -u root password '123456' mysql修改密码 /application/mysql//bin/mysqladmin -u root -poldboy123 password '112233'