本文目录一览:
- 1、如何源码安装mysql数据库
- 2、ubuntu 怎么源码安装mysql
- 3、如何源码安装mysql
- 4、如何配置全世界最小的 MySQL 服务器
- 5、Linux 下二进制源码包安装mysql 详细过程
如何源码安装mysql数据库
这个可以这样
比如解开源码包, 得到一个文件夹ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是这个思路
ubuntu 怎么源码安装mysql
1.下载源码包
2.解压包
tar -zxvf mysql-5.6.33.tar.gz
3.安装必要依赖
sudo apt-get install make bison g++ build-essential libncurses5-dev cmake
4.进入安装包目录,配置MySQL安装参数 //源码安装最大的好处就是可以自定义参数,制定安装目录,方便管理
cmake -DCMAKE_INSTALL_PREFIX=[指定MySQL安装的目录]/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=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=[指定MySQL的数据存放目录如:]/usr/local/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0
make -j4 #-j数字 表示以多核心运行编译
make install #安装
5. 常用命令软连接,设置环境变量
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
6.初始化数据库
sudo /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
7.启动MySQL服务器
sudo /usr/local/mysql/bin/mysqld start
#如果启动不了,考虑编译安装时自定义数据存放目录,所以导致mysqld找不到对应的目录
解决: vi /usr/local/mysql/bin/mysqld
修改datadir = [指定MySQL的数据存放目录如:] /usr/local/mysql/data
保存退出,再次启动 sudo /usr/local/mysql/bin/mysqld start #OK 搞定
8. 启动成功后创建root用户的密码
/usr/local/mysql/bin/mysqladmin -u root password '新密码'
9.启动MySQL端
/usr/local/mysql/bin/mysql -u root -p
输入密码
10.设置环境变量
vi /home/个人目录/.bashrc 或者 vi /root/.bashrc
#在后面添加这段代码
export PATH="$PATH:/home/sy/lnmp/mysql/bin"
#重启电脑ok
#若不想重启电脑,仅限当次有效(重启失效)
#执行命令
export PATH=$PATH:/usr/local/mysql/bin
mysql --version //测试
如何源码安装mysql
为了避免端口冲突、程序冲突等现象,建议先将使用rpm方式安装的mysql、mysql-server软件包卸载
2
MySQL5.5版本以后需要使用cmake工具编译安装,所以在安装MySQL之前要先安装cmake工具(安装方法如下)
3
挂载软件光盘(挂载前先查询下是否已经有其他光盘挂载了,如果有就用umount命令卸载后重新挂载带有MySQL软件包的光盘)
END
编译安装:解包、配置、编译和安装
解包(解包就是将光盘里面的安装包解压到本地,一般解压到/usr/src目录下)
配置(配置是根据服务器的实际应用需要来制定不同的选项,如指定安装路径、启用字符集等等,类似于windows软件的自定义安装,只不过linux中更加灵活)
编译(编译就是完成配置后使用"make"命令将源代码文件进行编译而生成二进制的程序模块、动态链接库、可执行文件等,输入make回车即可)
安装(编译完成后,执行"make install"安装命令,将软件的执行程序、配置文件、帮助文档等相关文件复制到linux系统中,进行安装,输入make install回车即可)
如何配置全世界最小的 MySQL 服务器
首先我们先解压Mysql的安装包,建议解压到 /usr/local/src 目录中方便管理
# tar xf mysql-5.6.16.tar.gz
# cd mysql-5.6.16
然后我们执行以下指令对源码包进行预处理:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为 ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make make install 吧!
# make make install
由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。
编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看
bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量
data 这个文件夹就是数据库目录
include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖
lib Mysql运行需要的运行库
scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化
man Mysql是使用手册,需要让man命令识别这个路径才能使用
support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件
Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data
接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统
# groupadd mysql
# useradd -M -s /sbin/nologin -g mysql mysql
设置mysql安装目录的属主和属组
# chown -R mysql:mysql /usr/local/mysql/
给数据库目录可读可写的权限
# chmod 777 -R /usr/local/mysql/data/
复制配置文件和服务控制脚本到相应位置
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
编辑配置文件 /etc/mysql.cnf,添加:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
指定安装目录和数据库目录就可以了,其他参数先不用管。如图一所示
接下来就可以初始化数据库了
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
结果如图二所示就代表成功了,可以用 echo $? 查看返回值
现在就可以启动Mysql数据库服务了 它的启动命令是 mysqld
# service mysqld start
然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!
# netstat -anpt | grep mysqld
我们发现它默认监听在 TCP 的" 3306 "端口
我们可以用它自带的 mysql 命令连接进去看看
用 -u 指定用户名 -h 指定主机 -p 来输入密码
# /usr/local/mysql/bin/mysql -u root -h localhost -p
这个root用户可不是系统登陆的root用户,而是mysql服务器中的一个默认用户。由于我们还没有给root用户设置密码,直接回车就可以进如了,如果出现一个" mysql "就代表成功了。输入" exit "命令退出。
总使用绝对路径来执行mysql命令也不是办法,我们把它的环境变量配置下吧
# echo 'export PATH=$PATH:/usr/local/mysql/bin' /etc/profile.d/mysql.sh
# source /etc/profile.d/mysql.sh
好啦,看看是不是能直接执行mysql命令了呢
接下来就分析一下my.cnf这个配置文件的各参数意义
basedir mysql的安装目录
datadir 数据库目录
port 指定服务端口,默认3306 端口
server_id pid文件路径
socket 套接字
skip-locking 可避免mysql的外部锁定,降低系统出错几率
skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间
key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加
sort_buffer_size 设置排序缓存区的大小 (每个连接独占)
read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)
join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)
max_connections 设置服务器最大连接进程数
mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态
# mysqladmin -u root password "himysql"
如果已经设置了密码,想去修改 就要在命令上添加 -p 参数,-p 参数是用来提醒输入密码的,就和mysql命令一样
# mysqladmin -u root password "himysql" -p
接下来输入旧密码就可以更改新密码了,再试一试,登陆mysql服务器是不是需要使用密码了呢?
如果是在本机登陆mysql服务器 -h 选项是可以省略的,如果使用root登陆,连-u 参数都可以省略,如果没有密码登录,连 -p 都是可以省略的,比如你第一次启动服务,直接mysql就可以连接上去了
这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:
mysqladmin 选项 参数 . . .
create db_name 创建一个名为db_name的新数据库
debug 将debug信息写入错误日志
drop db_name 删除一个名为db_name的数据库
extended-status 显示服务器状态变量和他们的值
flush-hosts 刷新缓存中的所有信息
flush-logs 刷新所有日志信息
flush-privileges 重新载入授权表
flush-status 清除状态变量
flush-tables 刷新所有的表
flush-threads 刷新线程的缓存
ping 显示服务器运行状态
processlist 正在运行服务器线程的列表
password new_password 更改密码
shutdown 关闭服务器
start-slave 在从服务器上启动同步
stop-slave 在从服务器上关闭同步
-u root 指定用户
-h localhost 指定连接的主机
-p 指定需要输入密码
其中一些概念不懂没关系,先眼熟就行了,在后面的学习中将会慢慢了解
当我们用mysql命令登陆到服务器后,出现的" mysql "我们应该怎么操作呢?
在 mysql 提示符下可以使用SQL语言或命令对数据库进行管理,每条SQL语句都以 " ; " 结束,且不区分大小写。用户可以通过上下键调出曾经输入过的命令。
对数据库的操作不外乎增删查改,下面就看看一些很简单的命令吧!
show databases; 查看当前存在的数据库
use 数据库名称; 使用指定的数据库
show tables; 查看指定数据库有哪些表
create database 数据库名称; 创建新数据库
drop 数据库名称; 删除数据库
编译安装Mysql服务器到此也已经差不多了,除了编译时间长了些,按照步骤一步一步下来还是蛮简单的。如果想知道Mysql数据库的更多操作请看下一章:Mysql数据库的管理与备份恢复。一定要动手做一做哦!Enjoy Your Time !o(^▽^)o
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
配置成功---