centos上安装msqyl
通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库
[root@CentOS6.5 ~]# rpm -qa | grep mysql #这个命令就会查看该操作系统上是否已经安装了mysql数据库
有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
[root@CentOS6.5 ~]# rpm -e mysql #普通删除模式
[root@CentOS6.5 ~]# rpm -e --nodeps mysql #强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!
一、编译安装MySQL前的准备工作
1、安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
2、安装cmake,从http://www.cmake.org下载源码并编译安装
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap ; make ; make install
二、设置MySQL用户和组
1、新增mysql用户组
groupadd mysql
2、新增mysql用户
useradd -r -g mysql mysql
三、新建MySQL所需要的目录
1、新建mysql安装目录
mkdir -p /usr/local/mysql
2、新建mysql数据库数据文件目录
mkdir -p /data/mysqldb
四、下载MySQL源码包并解压
从http://dev.mysql.com/downloads/mysql/直接下载源码
wget http://www.kakapart.com/files/mysql-5.6.16.tar.gz
tar -zxv -f mysql-5.6.16.tar.gz
cd mysql-5.6.16
五、编译安装MySQL
1、从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/data/mysqldb
-DMYSQL_TCP_PORT=3306
-DENABLE_DOWNLOADS=1
DCMAKE_INSTALL_PREFIX=dir_name |
设置mysql安装目录 |
-DMYSQL_UNIX_ADDR=file_name |
设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name |
设置服务器的字符集。 缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
-DDEFAULT_COLLATION=collation_name |
设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name |
设置mysql数据库文件目录 |
-DMYSQL_TCP_PORT=port_num |
设置mysql服务器监听端口,默认为3306 |
-DENABLE_DOWNLOADS=bool |
是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
注:重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt
六、修改mysql目录所有者和组
1、修改mysql安装目录
cd /usr/local/mysql
chown -R mysql:mysql . #注意后面的小数点,表示当前目录,不能省略。
2、修改mysql数据库文件目录
cd /data/mysqldb
chown -R mysql:mysql . #注意后面的小数点
[root@lcj mysql]# pwd /usr/local/mysql [root@lcj mysql]# chown -R mysql:mysql . [root@lcj mysql]# cd /data/mysqldb/ [root@lcj mysqldb]# chown -R mysql:mysql . [root@lcj mysqldb]#
七、初始化mysql数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
初始化mysql时,如果机器名不能进行反解会出现如下错误
[root@lcj mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb WARNING: The host 'lcj' could not be looked up with ./bin/resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! Installing MySQL system tables...2016-07-28 08:41:24 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
解决方式:
查看/etc/hosts文件中是否有响应的机器名,如无则添加本机的IP到机器的对应到/etc/hosts文件中
使用resolveip确认是否ok
[root@lcj mysql]# /usr/local/mysql/bin/resolve resolveip resolve_stack_dump [root@lcj mysql]# /usr/local/mysql/bin/resolveip lcj IP address of lcj is 192.168.232.132 [root@lcj mysql]#
再次对mysql进行初始化:
八、复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #注:如果/etc/my.cnf文件存在则覆盖
九、复制mysql服务启动脚本及加入PATH路径
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/profile
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
source /etc/profile #使用环境变量生效
chown -R mysql:mysql . #注意后面的小数点
十、启动mysql服务并加入开机自启动
service mysqld start
chkconfig --level 35 mysqld on
十一、检查mysql服务是否启动
netstat -tulnp | grep 3306
mysql -u root -p #密码为空,如果能登陆上,则安装成功。
十二、修改MySQL用户root的密码
mysqladmin -u root password '123456'
注:也可运行安全设置脚本,修改MySQL用户root的密码,同时可禁止root远程连接,移除test数据库和匿名用户。
/usr/local/mysql/bin/mysql_secure_installation
十三、源码安装cmake
1、上传cmake-2.8.10.1.tar.gz至指定安装目录
2、#tar zxvf cmake-2.8.10.1.tar.gz
3、编译报错:缺少gcc-c++安装包
[root@localhost cmake-2.8.10.2]# ./configure
---------------------------------------------
CMake 2.8.10.2, Copyright 2000-2012 Kitware, Inc. C compiler on this system is: cc --------------------------------------------- Error when bootstrapping CMake: Cannot find appropriate C++ compiler on this system. Please specify one using environment variable CXX. See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.10.2/Bootstrap.cmk/cmake_bootstrap.log
4、安装gcc-c++安装包
[root@localhost cmake-2.8.10.2]# yum install gcc-c++ Loaded plugins: fastestmirror Determining fastest mirrors cdrom | 4.0 kB 00:00 ... cdrom/primary_db | 3.5 MB 00:00 ... Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package gcc-c++.i686 0:4.4.6-4.el6 will be installed
5、继续安装cmake,出现如下错误:
[root@localhost cmake-2.8.10.2]# ./configure --------------------------------------------- CMake 2.8.10.2, Copyright 2000-2012 Kitware, Inc. Found GNU toolchain C compiler on this system is: gcc C++ compiler on this system is: g++ --------------------------------------------- Error when bootstrapping CMake: Cannot find appropriate Makefile processor on this system. Please specify one using environment variable MAKE. --------------------------------------------- Log of errors: /usr/local/src/cmake-2.8.10.2/Bootstrap.cmk/cmake_bootstrap.log
6、解决办法,安装make即可
[root@localhost cmake-2.8.10.2]# yum install make
继续安装cmake
[root@localhost cmake-2.8.10.2]# ./configure
编译安装
[root@localhost cmake-2.8.10.2]# gmake [root@localhost cmake-2.8.10.2]# gmake install
安装成功
【或参考http://blog.chinaunix.net/uid-13537707-id-3190543.html】