linux源码mysql
下面开始一步一步写(非特别注明,都是用root用户执行):
1 下载MariaDB源码:https://downloads.mariadb.org/mariadb/10.0.14/,下载的文件:mariadb-10.0.14.tar.gz
2 安装cmake:apt-get install cmake,ubuntu源上可能不是最新版本的cmake,但是可以用。如果想源码安装cmake可以参考搜索引擎。
3 有一些依赖包的安装,不过我倒现在还没搞清楚具体需要哪些,但是lio-dev这个是要装的,其他的可以搜索。
4 解压源码包,我解压好以后的路径是:/root/mariadb-10.0.14/,进入路径,输入如下命令:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
这里需要根据你规划好的路径修改。
5 这个需要不算太长的时间,但是如果最后提示要你查看错误日志的话,那一般是缺少依赖包,搜索相关错误装好相关依赖即可。
6 如果出现错误,再次编译的时候需要删除CMakeCache文件。
7 不出现错误提示以后输入:make,结束之后输入make install。make需要花费比较长的时间,期间会提示很多warning,直接忽略即可。
8 上面步骤完成之后即完成了安装,下面就可以初始化数据库了。将/usr/mysql所有者修改为mysql。进入/usr/mysql/support_files,执行
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
修改/etc/my.cnf,添加如下语句:
tmpdir = /home/mysql/tmp/
basedir=/usr/mysql
datadir=/home/mysql/data
注意要建立相关目录,并将所有者修改成mysql。
修改/etc/init.d/mysql,将basedir和datadir的值修改成规划好的目录。
9 进入/usr/mysql/script,执行下面的语句:
./mysql_install_db --user=mysql --basedir=/usr/mysql --datadir=/home/mysql/data
执行之后会提示很多,修改/etc/profile,添加PATH变量:export PATH=$PATH:/usr/mysql/bin
执行source /etc/profile
10 启动mysql服务:service mysql start
11 执行:mysqladmin -u root password 'root'
12 这样就装好了mysql,su到mysql用户,执行:mysql -uroot -proot即可进入mysql命令行。
该过程同样适用于mysql,因为mariaDB本身和mysql没有天翻地覆的区别。
② 怎样区分linux下的二进制和源代码Mysql包
1、解压下载的包
2、看文件夹下是否有src类似的文件
3、如果有打开src中的文件看是否有代码就行了
③ 怎么在linux下部署mysql 源码部署安装
查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
④ linux 源码安装mysql时,使用cmake生成makefile时报错。
行与行之间需要连接符"\",最后一行不需要,要不然你就都写在同一行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_USER=mysql
⑤ linux下源码安装mysql遇到困难了。菜鸟在线等答,跪谢!!!!!
现在的Linux发行版一般都预先安装了MySQL,会生成配置文件:/etc/my.cnf。如果你安装另一版本的MySQL,就会引起冲突。你那个异常可以这样处理:
修改/etc/my.cnf(如果不在/etc/下,那从别处找),找到有“skip-federated”字样的那一行,屏蔽之:
#skip-federated
当然,更好的解决方法是彻底移除旧的MySQL。
⑥ Linux 下二进制源码包安装mysql 详细过程
安装之前先把二进制源码准备好,可以从搜狐镜像下载:我准备的是mysql-5.5.15-linux2.6-i686.tar.gz
,linux
version
2.6.18-164.el5
实际工作中和虚拟机的配置有些地方可能会不相同
====================================================================
注意:mysql
安装的时候必须指定到
/usr/local
必须命名为mysql
二进制源码安装需要在安装目录/usr/local下运行
复制代码代码如下:
//创建用户mysql
*
groupadd
-g
3306
mysql
*
useradd
-g
mysql
-u
3306
-M
mysql
*
id
mysql
*
chown
-R
mysql:mysql
/mydata/
//
mysql对目录要有写权限
*
ll
-d
/mydata/
*
cp
/mysql-5.5.15-linux2.6-i686
/usr/local
*
cd
/usr/local/mysql
//
开始初始化
mysql
*
chown
-R
mysql:mysql
.
*
ln
-sv
/mysql-5.5.15-linux2.6-i686
mysql
*
scripts/mysql_install_db
--user=mysql
--datadir=/mydata/data
//
<span
style="color:#993300;">scripts脚本初始化</span>
初始化
用来生成mysql数据库
数据库用来存放表等源数据信息
复制代码代码如下:
//安装完成
下面配置启动
*
ls
support-files/
//
准备服务启动脚本
*
cp
support-files/mysql.server
/etc/init.d/mysqld
//
放入init.d
*
chkconfig
--add
mysqld
//
加入服务列表
*
chkconfig
--list
mysqld
//
--list
显示出来
复制代码代码如下:
//此时可以启动mysql了
但还需要配置mysql
*
ls
/etc/my.cnf
*
ls
support-files/
*
cp
support-files/my-large.cnf
/etc/my.cnf
*
vim
/etc/my.cnf
[mysqld]
//
找到该段
并添加datadir
=
/mydata/data
datadir
=
/mydata/data
*
service
mysqld
start
//
开启服务
*
netstat
-tnl
//
3306
端口打开
*
echo
$PATH
*
/usr/local/mysql/bin/mysql
*
export
PATH=$PATH:/usr/local/mysql/bin
//
<span
style="color:#cc6600;">注意</span>:不加$
就仅仅剩下你添加的路径
*
vim
/etc/profile
//
在export
之前添加下面的路径
PATH=$PATH:/usr/local/mysql/bin
//
永久生效的路径配置方法
*
mysql
//
此时mysql已经可启动了
复制代码代码如下:
//mysql库文件的路径配置
*
ls
*
vim
/etc/ld.so.conf
//
修改库文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
规范的配置
当前目录下以.CONF结尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加载所有库文件的路径
没有mysql的库文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加这些内容
*
ldconfig
-v
|
grep
mysql
//
修改之后在重新加载一次
否则服务器不知道
//mysql库文件的路径配置
*
ls
*
vim
/etc/ld.so.conf
//
修改库文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
规范的配置
当前目录下以.CONF结尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加载所有库文件的路径
没有mysql的库文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加这些内容
*
ldconfig
-v
|
grep
mysql
//
修改之后在重新加载一次
否则服务器不知道
复制代码代码如下:
//头文件的配置
库文件有哪些函数以及函数在别人编写程序的时候怎么调用
怎么传递参数
参数类型是什么
返回值类型是是什么
必须找到库文件所对应的头文件
库文件对应的头文件在/
usr/include
*
ls
/usr/include/
*
ln
-sv
/usr/local/mysql/include
/usr/include/mysql
//
头文件的输出
*
vim
/etc/man
*
vim
/etc/man.config
//
添加Man
MANPATH
/usr/local/mysql/man
OK!
mysql
配置成功---
⑦ Linux下如何使用源码安装mysql且开启分区 mysql:mysql-5.1.61.tar.gz 求详细步骤~
1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar –xvf MySQL-5.0.87.tar.gz 3.进入MySQL-5.0.87 4.检测环境并指定安装目录:./configure --prefix=/usr/local/MySQL 检测出来缺什么就安装什么。我装的时候居然连gcc和g++都没有,没有编译器的话就要直接下载rpm包(已编译好的二进制文件)再安装到系统。 如下是安装gcc的命令(要先去下载这个包,这个地址有比较多的rpm包下载http://mirror.oa.com/SLES10-SP1-RPMS-32/): sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm 安装这些rpm包的过程中有些是已安装的,或者是自己依赖自己导致安装不了,反正安装不了就用强制安装并忽略依赖的命令 sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps 可能进过安装一系列的rmp包后,终于完成了环境检测。我大概装了10+个的rmp包才完成。。杯具啊 5.编译:make 6.安装:sudo make install 7.实现linux下纯手动MySQL源码安装中要进行配置。首先可以看到安装完的目录如下 在share/MySQL下打命令:ls –l | grep my- 出来的都是MySQL的配置文件,按照需要选择其中一个拷到/etc下命名为my.cnf /etc/my.cnf是MySQL默认读的配置文件的路径 8.修改var的可写权限。这是MySQL的数据库数据文件存放的位置,因为用当前用户来运行MySQL的后台程序可能没有这个目录的可写权限。 chmod 777 ./var –r 9.配置系统环境变量,使得可以直接执行MySQL的程序 系统的环境变量是放在/etc/profile下的,而用户的环境变量是放在用户的根目录下的.bashrc下 (1) /etc/profile的配置: PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH export PATH其中/usr/local/mydql/bin是MySQL主要的可执行程序的目录,而libexec是放MySQL的后台主程序MySQLd的 (2).bashrc的配置: set PATH=/usr/local/MySQL/bin:$PATH set PATH=/usr/local/MySQL/libexec:$PATH export PATH这里注意.bashrc里面是要加个set的。配置完后重登录就可以生效了 10.在启动MySQLd之前要先初始化它,执行MySQL_install_db 11.启动MySQLd,直接打MySQLd就可以了,因为之前配置过系统环境变量了 12.直接MySQL进入MySQL的命令行控制。默认是以当前用户名登录的,默认root是没有密码的 13.设置root的密码:MySQLadmin –u root password ‘123456’ 14.以root身份登录:MySQL –uroot –p 15.设置远程登录数据库。用户创建后默认是只能在本地登录的。 update user set Host='%’ where user=‘kuncai'; 这句是将kuncai这个用户的允许登录的地址改成任意,但不包括本地。也就是说这样kuncai这个用户就无法在本地登录了,只能远程登录。 只有root用户才能执行这句,所以要先以root用户登录到本地数据库才行。 flush privileges; 要再执行这句刷新缓存才能生效。以上的相关内容就是对linux下纯手动MySQL源码安装的介绍,望你能有所收获。 感谢你们能看到这些,如果大家有兴趣开个自己的-淘-宝-网-店,小成本的进行-创-业-尝试,可以加我Q1300-855-633,进行咨询联系
⑧ 在linux安装MySQL时采用源码编译安装,但是如何让MySQL的编译时间缩短呢
可以试试在使用make && make install 时添加-j参数,不限制内核进行编译安装。或者-j 后加内核数 。例如 make -j 4 && make install -j 4
优点:速度快会相对提高很多
缺点:消耗大量CPU,内存资源。
我做过一个测试,如果不限定内核 (16核 80GB内存 )的服务器编译安装mysql 5.0.7 安装时长大致在10分钟左右,但是测试时服务器CPU跑满100% ,内存消耗至少32GB。直接使用 make && make install 安装耗时45分钟,内存4GB ,CPU 10%左右。