mysql5.5源码安装,Mysql
一、构建环境
# 建立安装需要的目录
cd /home/bbq/mysql/mysql-3307
mkdir install -- 安装目录
mkdir data -- 数据文件目录
mkdir cnf -- 配置文件目录
# 授予mysql用户文件读写权限
chown -R mysql:mysql install data cnf
二、源代码配置、编译和安装
# 进入源代码目录
cd /home/bbq/mysql/src-code/mysql-5.5.29
# 清除之前build产生的数据
make clean
rm -f CMakeCache.txt
# 配置
cmake . -DCMAKE_INSTALL_PREFIX=/home/bbq/mysql/mysql-3307/install -DMYSQL_DATADIR=/home/bbq/mysql/mysql-3307/data/ -DMYSQL_TCP_PORT=3307 -DMYSQL_UNIX_ADDR=/home/bbq/mysql/mysql-3307/data/mysql-3307.sock -DSYSCONFDIR=/home/bbq/mysql/mysql-3307/cnf -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
配置参数详解
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html#option_cmake_enabled_local_infile
CMAKE_INSTALL_PREFIX 安装目录
MYSQL_DATADIR 数据目录
MYSQL_TCP_PORT 端口
MYSQL_UNIX_ADDR sock路径
SYSCONFDIR 配置文件my.cnf目录
EXTRA_CHARSETS 编译所有字符集
DEFAULT_CHARSET 默认字符集
DEFAULT_COLLATION 默认字符校对方式
WITH_INNOBASE_STORAGE_ENGINE 启用innodb引擎
ENABLED_LOCAL_INFILE 启用LOAD DATA INFILE方式导入数据
# 编译(耗时大概10-20分钟)
make
# 安装
make install
三、mysql配置
# 进入mysql安装目录
cd /home/bbq/mysql/mysql-3307/install
# 生成MySQL 授权表。利用mysql_install_db脚本生成新的MySQL 授权表
./scripts/mysql_install_db --basedir=/home/bbq/mysql/mysql-3307/install --datadir=/home/bbq/mysql/mysql-3307/data --user=mysql
# 生成配置文件(small、medium、large选一个即可)
cp support-files/my-medium.cnf /home/bbq/mysql/mysql-3307/cnf/my.cnf
# 创建mysql服务(此列服务为mysqld3307)
cp support-files/mysql.server /etc/init.d/mysqld3307
# 编辑/etc/init.d/mysqld3307
basedir=/home/bbq/mysql/mysql-3307/install
datadir=/home/bbq/mysql/mysql-3307/data
# 注册服务mysqld3307,并开启
chkconfig --add mysqld3307
chkconfig mysqld3307 on
# 启动服务
service mysqld3307 start
# 关闭服务
service mysqld3307 stop
# 更改密码
/home/bbq/mysql/mysql-3307/install/bin/mysqladmin -uroot -P3307 password 'newpassword'
如果已经安装过mysql,那么mysqladmin前面的路径必须输入,否则会报sock错误
四、
# 删除空账户
DELETE FROM mysql.user where user=' ' OR host=' ';FLUSH PRIVILEGES;
# 屏蔽host解析my.cnf中增加
skip-name-reslove