linux下使用cmake编译安装mysql的详细教程
时间:2022-07-27
本文章向大家介绍linux下使用cmake编译安装mysql的详细教程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、安装cmake
1、解压cmake压缩包
[root@mysql tools]# tar -zvxf cmake-2.8.8.tar.gz
[root@mysql tools]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.16.tar.gz scripts
2、解析
[root@mysql tools]# cd cmake-2.8.8
[root@mysql cmake-2.8.8]# ./configure
---------------------------------------------
CMake 2.8.8, Copyright 2000-2009 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
#如果返回值是0,就是执行成功,如果返回值是1,就是执行失败;
[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
二、开始安装mysql
1、首先需要安装(ncurses-devel)依赖包
[root@mysql cmake-2.8.8]# cd …
[root@mysql tools]# yum -y install ncurses-devel
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
—> tools ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 will be installed
#############安装完成后检查###########
[root@mysql tools]# rpm -qa | grep ncurses-devel
ncurses-devel-5.9-14.20130511.el7_4.x86_64
[root@mysql tools]#
2、解压mysql压缩包
[root@mysql tools]# tar -zvxf mysql-5.5.16.tar.gz
[root@mysql tools]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.16 mysql-5.5.16.tar.gz scripts
[root@mysql tools]#
3、创建虚拟用户
[root@mysql tools]# useradd mysql -s /sbin/nologin -M
[root@mysql tools]# id mysql
uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)
[root@mysql tools]#
4、配置解析
[root@mysql tools]# cd mysql-5.5.16
[root@mysql mysql-5.5.16]#
[root@mysql mysql-5.5.16]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.16 -DMYSQL_DATADIR=/usr/local/mysql-5.5.16/data -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.16/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.16]# 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.16]# ln -s /usr/local/mysql-5.5.16/ /usr/local/mysql
[root@mysql mysql-5.5.16]# readlink /usr/local/mysql
/usr/local/mysql-5.5.16/
[root@mysql mysql-5.5.16]#
7、配置环境
[root@mysql mysql-5.5.16]# cd …
[root@mysql tools]# echo ‘export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@mysql tools]# tail -1 /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@mysql tools]# source /etc/profile
[root@mysql tools]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@mysql tools]#
8、拷贝、查看、设置属主、及添加tmp权限
[root@mysql tools]# cp mysql-5.5.16/support-files/my-small.cnf /etc/my.cnf
[root@mysql tools]# ll /usr/local/mysql/data/
total 0
drwxr-xr-x 2 root root 20 May 31 11:51 test
[root@mysql tools]# chown -R mysql.mysql /usr/local/mysql/data/
[root@mysql tools]# chmod -R 1777 /tmp/
[root@mysql tools]#
9、初始化数据库
[root@mysql tools]# 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 /roottools/mysql-5.5.16
[root@mysql mysql-5.5.16]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql mysql-5.5.16]# chmod -R 755 /etc/init.d/mysqld
[root@mysql mysql-5.5.16]# chkconfig --add mysqld
[root@mysql mysql-5.5.16]# chkconfig mysqld on
[root@mysql mysql-5.5.16]# 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.16]#
11、启动mysql数据库
[root@mysql mysql-5.5.16]# /etc/init.d/mysqld start
Starting MySQL… SUCCESS!
[root@mysql mysql-5.5.16]#
12、查看端口进程
[root@mysql mysql-5.5.16]# 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.16]# netstat -lnutp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0: LISTEN 51146/mysqld
[root@mysql mysql-5.5.16]# ps -ef|grep 3306
mysql 51146 50900 0 14:13 pts/1 00:00:00 /usr/local/mysql-5.5.16/bin/mysqld --basedir=/usr/local/mysql-5.5.16 --datadir=/usr/local/mysql-5.5.16/data --plugin-dir=/usr/local/mysql-5.5.16/lib/plugin --user=mysql --log-error=/usr/local/mysql-5.5.16/data/mysql.err --pid-file=/usr/local/mysql-5.5.16/data/mysql.pid --socket=/usr/local/mysql-5.5.16/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.16]#
注:如果要重新初始化只要删除data目录库文件存储地或者新建一个库文件存储地,重新初始化,提示两个ok就是成功
进入数据库
[root@localhost ~]# mysql
查看所有用户
mysql> use mysql
mysql> show tables;
mysql> select user,host from user;
删除系统默认的
delete from mysql.user where user='';
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>
#########################
添加额外的授权管理员用户
grant all privileges on . to system@‘192.168.%' identified by ‘system' with grant option;
字符集路径
vi /etc/locale.conf #centos7
mysql创建密码
/application/mysql//bin/mysqladmin -u root password ‘123456'
mysql修改密码
/application/mysql//bin/mysqladmin -u root -p123456 password ‘112233'
总结
以上所述是小编给大家介绍的linux下使用cmake编译安装mysql的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- 数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法
- “数据访问函数库”(DataAccessLibrary for .net2.0 )源代码下载 09.06.15更新
- 数据访问函数库 for ado.net2.0
- 【问底】静行:FastJSON实现详解
- 分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
- 使用接口来统一控件的取值、赋值和初始化
- 【自然框架】之通用权限的Demo(二):添加人员、添加账户、添加角色里面的账户以及列表的权限验证
- 我自己写的一个分页控件(源码和演示代码)PostBack分页版 for vs2003、SQL Server
- 分页控件之分页算法 —— for SQL Server 版。
- 【问底】王帅:深入PHP内核(一)——弱类型变量原理探究
- 一次对个人服务器入侵事件的调查
- BlackHat议题解析:Windows程序的数字签名校验“漏洞”
- 都是权限惹的祸 | 安卓恶意APP如何将其他APP中的私有数据搞到手
- SQLiScanner:又一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- elasticSearch学习(七)
- Flutter透明度渐变动画FadeTransition实现透明度渐变动画效果
- iOS NSTimer不走的问题
- 我对python中的super()机制的一点理解
- 【Python】使用Pygame做一个Flappy bird小游戏(五)
- 【动手学深度学习笔记】之自定义层
- Ubuntu18.04系统安装和必备软件安装指南
- 如何查看微信好友已撤回的消息?
- 【Python爬虫】写一个爬取中国天气网的终端版天气预报爬虫
- 如何制定企业级代码规范与检查
- 哈希表:可以拿数组当哈希表来用,但哈希值不要太大!
- 【Python】Scrapy爬虫入门(一)Scrapy的基本用法和爬取静态网站
- 【动手学深度学习笔记】之读取和存储
- 据说这才是看热搜的正确方法?
- Ubuntu18.04安装Anaconda3和VSCode指南