将二进制MySQL包安装到系统中
将预编译的二进制mysql包,安装后添加到系统变量环境中。解压后需要处理以下的目录,下载的软件包:Percona-Server-5.1.68-rel14.6-551.Linux.x86_64.tar.gzbin include lib man mysql
在通过软件包安装的系统上,可以执行mysql-config指令来获取相关的路径信息。像下面:
Options:
--cflags [-I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g]
--include[-I/usr/include/mysql]
--libs [-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl]
--libs_r [-L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl]
--plugindir [/usr/lib/mysql/plugin]
--socket [/var/run/mysqld/mysqld.sock]
--port [0]
--version[5.5.31]
--libmysqld-libs [-L/usr/lib/x86_64-linux-gnu -lmysqld -lpthread -lz -lm -lrt -lwrap -lcrypt -ldl -laio]
--variable=VAR VAR is one of:
pkgincludedir [/usr/include/mysql]
pkglibdir [/usr/lib/x86_64-linux-gnu]
plugindir [/usr/lib/mysql/plugin]
同样在二进制包的bin目录下也有这个指令,执行它可以得到相关的路径信息:
Options:
--cflags [-I/usr/local/mysql/include/mysql -fPIC -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=14.5 -DUNIV_LINUX -DUNIV_LINUX]
--include[-I/usr/local/mysql/include/mysql]
--libs [-rdynamic -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm]
--libs_r [-rdynamic -L/usr/local/mysql/lib/mysql -lmysqlclient_r -lz -lrt -lpthread -lcrypt -lnsl -lm -lpthread]
--plugindir [/usr/local/mysql/lib/mysql/plugin]
--socket [/var/lib/mysql/mysql.sock]
--port [0]
--version[5.1.68]
--libmysqld-libs [-rdynamic -L/usr/local/mysql/lib/mysql -lmysqld -ldl -lz -lrt -lpthread -lcrypt -lnsl -lm -lpthread -lrt]
当然这些信息可以通过修改配置文件来改变,比如像socket的路径。
[链接指令文件-bin]
bin路径,这样执行与mysql相关的指令时,就不用指定其绝对路径了。
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql/
export PATH=$PATH:$MYSQL_HOME/bin
export MANPATH=$MANPATH:$MYSQL_HOME/man
这样将相关的命令及参考手册就加入到了系统中。
[链接库文件-lib]
可以做一个软链接来解决这个问题。链到'/usr/lib',有些程序如果不能在此下找不到的话,在'/usr/lib64'目录也要建立这样的软链。
ln -s /usr/local/mysql/lib /usr/lib64/mysql
[链接开发库头文件-include]
主要是一些开发用到的'head'文件,以'.h'结尾。
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
但这样修改后,并不能直接生效,即使手动运行'ldconfig -v'。这主要是库链接文件没有添加到系统路径中。
$ mysql
mysql: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
要手动加入一下到系统库搜索路径中,新建文件:
/etc/ld.so.conf.d/mysql.conf
加入一行:
/usr/lib/mysql
再次执行'ldconfig -v',可解决此问题。
获取MySQL数据库配置文件加载顺序
方法一
通过ps -ef查看MySQL数据库进程时,适用于用二进制包方式启动数据库:
$ ps -ef|grep -i mysqld
方法二
通过my_print_defaults命令的帮助信息,可以获取当前MySQL数据库版本加载配置文件顺序:
$ my_print_defaults --help|grep -A2 -B2 my.cnf
CentOS7
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
CRUX3.4
Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf
方法三
通过mysqld命令的帮助信息,可以获取当前MySQL数据库版本加载配置文件顺序:
$ mysqld --verbose --help|grep -A 2 my.cnf
CentOS7(二进制包安装)
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
The following groups are read: mysqld server mysqld-5.7
方法四
通过mysql命令的帮助信息,可以获取当前MySQL数据库版本加载配置文件顺序
$ mysql --help|grep 'my.cnf'
CentOS7
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
CRUX3.4
/etc/my.cnf ~/.my.cnf