linux mysql5.5安装与配置
2016-11-25 17:28
239 查看
1.安装cmake
[root@localhost ~]# yum install cmake
2.添加系统mysql组和mysql用户:
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql
3.解压源码安装包
[root@localhost ~]# tar -zvxf mysql-5.5.32.tar.gz
[root@localhost ~]# cd mysql-5.5.32
4.编译MySQL5.5.32
[root@localhost mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
> -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/mysql/data \
> -DMYSQL_USER=mysql
以上参数等说明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql # mysql安装的主目录,默认为/usr/local/mysql
DMYSQL_DATADIR=/usr/local/mysql/data # mysql数据库文件的存放目录,可以自定义
DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock # 系统Socket文件(.sock)设置,基于该文件路径进行Socket链接,必须为绝对路径
DSYSCONFDIR=/etc # mysql配置文件 my.cnf的存放地址,默认为/etc下
DMYSQL_TCP_PORT=3306 # 数据库服务器监听端口,默认为3306
DENABLED_LOCAL_INFILE=1 # 允许从本地导入数据
DWITH_READLINE=1 # 快捷键功能
DWITH_SSL=yes # 支持 SSL
DMYSQL_USER=mysql # 默认为mysql
//下面3个是数据库编码设置
DEXTRA_CHARSETS=all # 安装所有扩展字符集,默认为all
DDEFAULT_CHARSET=utf8 # 使用 utf8 字符
DDEFAULT_COLLATION=utf8_general_ci # 校验字符
//下面5个是数据库存储引擎设在
DWITH_MYISAM_STORAGE_ENGINE=1 # 安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE=1 # 安装 innodb 存储引擎
DWITH_ARCHIVE_STORAGE_ENGINE=1 # 安装 archive 存储引擎
DWITH_BLACKHOLE_STORAGE_ENGINE=1 # 安装 blackhole 存储引擎
DWITH_PARTITION_STORAGE_ENGINE=1 # 安装数据库分区
遇到错误:
CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAK
E_C_COMPILER to a valid compiler path or name.CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set
CMAKE_CXX_COMPILER to a valid compiler path or name.
这是因为缺少相关库文件,依赖
解决方法:root@localhost ~]# yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
如果继续报错,只能删除原来的mysql-5.5.23目录,重新解压缩tar.gz包
5.执行安装
[root@localhost mysql-5.5.32]# make
[root@localhost mysql-5.5.32]# make install
[root@localhost ~]# chmod +w /usr/local/mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql #改变目录拥有者与所属组
[root@localhost ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
[root@localhost ~]# cd support-files/
[root@localhost ~]# cp my-large.cnf /etc/my.cnf # 选择默认 配置文件 适合大型服务器
[root@localhost ~]# cp mysql.server /etc/init.d/mysqld #
复制启动文件6. 配置启动MySQL
1. 若有需要请先修改 mysql
的配置 my.cnf
[root@localhost ~]# vi /etc/my.cnf
在[mysqld]下面添加
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/data/mysql.pid
default-storage-engine=MyISAM
user = mysql
2. mysql 初始化安装
执行以下命令
[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql
3. 将 mysql
加入开机启动
[root@localhost ~]# chmod +x /etc/init.d/mysqld
[root@localhost ~]# vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 345 mysqld on
为MySQL配置环境变量,以后使用起来方便
# export PATH=/usr/local/mysql/bin:$PATH
4. 启动 mysql
[root@localhost ~]# service mysqld start
设置密码
[root@localhost ~]# mysql_secure_installation
注意:如果出现 Starting MySQL...The server quit without updating PID file
报错:
Starting MySQL...The server quit without updating PID file
查看错误日志
情景1:
110206 12:58:35 [ERROR] Can't start server : Bind on unix socket: No such file or directory
110206 12:58:35 [ERROR] Do you already have another mysqld server running on socket: /mysql/mysqldir/data/mysql.sock ?
110206 12:58:35 [ERROR] Aborting
[root@localhost ~]# ps -ef | grep mysql # 未发现有mysqld.
[root@localhost ~]# netstat -an | grep 3306 也未发现异常.
最后从mysql安装目录下重新复制一个配置文件到/etc/my.cnf
修改相应参数.于是问题解决
情景2:
/mysql/mysqldir/bin/mysqld: Table 'mysql.plugin' doesn't exist
[ERROR] Can't open the mysql.plugin table. Please run my sql_upgrade to create it.
原因:编译安装后忘记初始化表.
解决:运行mysql_install_db
其他情况,查看日志文件(我的是localhost.localdomain.err,具体因人而异),然后具体分析;
[root@localhost ~]# yum install cmake
2.添加系统mysql组和mysql用户:
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql
3.解压源码安装包
[root@localhost ~]# tar -zvxf mysql-5.5.32.tar.gz
[root@localhost ~]# cd mysql-5.5.32
4.编译MySQL5.5.32
[root@localhost mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
> -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/mysql/data \
> -DMYSQL_USER=mysql
以上参数等说明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql # mysql安装的主目录,默认为/usr/local/mysql
DMYSQL_DATADIR=/usr/local/mysql/data # mysql数据库文件的存放目录,可以自定义
DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock # 系统Socket文件(.sock)设置,基于该文件路径进行Socket链接,必须为绝对路径
DSYSCONFDIR=/etc # mysql配置文件 my.cnf的存放地址,默认为/etc下
DMYSQL_TCP_PORT=3306 # 数据库服务器监听端口,默认为3306
DENABLED_LOCAL_INFILE=1 # 允许从本地导入数据
DWITH_READLINE=1 # 快捷键功能
DWITH_SSL=yes # 支持 SSL
DMYSQL_USER=mysql # 默认为mysql
//下面3个是数据库编码设置
DEXTRA_CHARSETS=all # 安装所有扩展字符集,默认为all
DDEFAULT_CHARSET=utf8 # 使用 utf8 字符
DDEFAULT_COLLATION=utf8_general_ci # 校验字符
//下面5个是数据库存储引擎设在
DWITH_MYISAM_STORAGE_ENGINE=1 # 安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE=1 # 安装 innodb 存储引擎
DWITH_ARCHIVE_STORAGE_ENGINE=1 # 安装 archive 存储引擎
DWITH_BLACKHOLE_STORAGE_ENGINE=1 # 安装 blackhole 存储引擎
DWITH_PARTITION_STORAGE_ENGINE=1 # 安装数据库分区
遇到错误:
CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAK
E_C_COMPILER to a valid compiler path or name.CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set
CMAKE_CXX_COMPILER to a valid compiler path or name.
这是因为缺少相关库文件,依赖
解决方法:root@localhost ~]# yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
如果继续报错,只能删除原来的mysql-5.5.23目录,重新解压缩tar.gz包
5.执行安装
[root@localhost mysql-5.5.32]# make
[root@localhost mysql-5.5.32]# make install
[root@localhost ~]# chmod +w /usr/local/mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql #改变目录拥有者与所属组
[root@localhost ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
[root@localhost ~]# cd support-files/
[root@localhost ~]# cp my-large.cnf /etc/my.cnf # 选择默认 配置文件 适合大型服务器
[root@localhost ~]# cp mysql.server /etc/init.d/mysqld #
复制启动文件6. 配置启动MySQL
1. 若有需要请先修改 mysql
的配置 my.cnf
[root@localhost ~]# vi /etc/my.cnf
在[mysqld]下面添加
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/data/mysql.pid
default-storage-engine=MyISAM
user = mysql
2. mysql 初始化安装
执行以下命令
[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql
3. 将 mysql
加入开机启动
[root@localhost ~]# chmod +x /etc/init.d/mysqld
[root@localhost ~]# vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 345 mysqld on
为MySQL配置环境变量,以后使用起来方便
# export PATH=/usr/local/mysql/bin:$PATH
4. 启动 mysql
[root@localhost ~]# service mysqld start
设置密码
[root@localhost ~]# mysql_secure_installation
注意:如果出现 Starting MySQL...The server quit without updating PID file
报错:
Starting MySQL...The server quit without updating PID file
查看错误日志
情景1:
110206 12:58:35 [ERROR] Can't start server : Bind on unix socket: No such file or directory
110206 12:58:35 [ERROR] Do you already have another mysqld server running on socket: /mysql/mysqldir/data/mysql.sock ?
110206 12:58:35 [ERROR] Aborting
[root@localhost ~]# ps -ef | grep mysql # 未发现有mysqld.
[root@localhost ~]# netstat -an | grep 3306 也未发现异常.
最后从mysql安装目录下重新复制一个配置文件到/etc/my.cnf
修改相应参数.于是问题解决
情景2:
/mysql/mysqldir/bin/mysqld: Table 'mysql.plugin' doesn't exist
[ERROR] Can't open the mysql.plugin table. Please run my sql_upgrade to create it.
原因:编译安装后忘记初始化表.
解决:运行mysql_install_db
其他情况,查看日志文件(我的是localhost.localdomain.err,具体因人而异),然后具体分析;
相关文章推荐
- CentOS 5.5中安装与配置Tomcat-7
- CentOS 5.5服务器使用yum安装配置Apache、PHP和Mysql
- linux mysql5.5安装与配置
- Mysql5.5安装配置方法及中文乱码的快速解决方法
- BUGZERO安装配置(一)——TOMCAT5.5安装
- ubuntu12.04桌面版下mysql5.5的安装及基本配置
- Center OS 5.5 下安装 和 配置 Subversion
- centos 6.3 64位安装php5.5及配置tengine
- window XP安装 apache 2.2.19 + 要下载二进制的php5.3.6 + Mysql 5.5配置(彻底解决 Fatal error: Class 'mysqli' not found in )
- Linux下 nginx + 最新版php5.5 安装配置详解
- 安装部署VMware vSphere 5.5文档 (6-5) 安装配置vCenter
- 安装部署VMware vSphere 5.5文档 (6-1) 配置IBM DS4700 共享存储
- CentOS 5.5环境下安装配置Varnish
- CentOS 5.5上安装配置oracle 11g R2
- 【环境配置】php5.5 + apache2.4 安装配置
- CentOS 5.5上安装配置oracle 11g R2
- CentOS5.5 FTP安装配置
- 安装部署VMware vSphere 5.5文档 (6-4) 安装配置DB数据库
- 基于centos7的Solr5.5安装配置
- solr.Net课程一 solr5.5安装配置