mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。
注意:此安装是默认centos下已经安装了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev,如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。
以下安装中涉及的几点需要提前说明的问题:
1. 所有下载的文件将保存在 /usr/local/src/ 目录下
2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行
3. mysql 将被安装在 /usr/local/mysql/ 目录下
4. mysql 默认安装使用 utf8 字符集
5. mysql 的数据和日志文件保存在 /data/mysql/ 对应目录下
6. mysql 的配置文件保存于/data/mysql/my.cnf
一、 Centos 用 wget 下载需要的软件,保存到目录 /usr/local/src/ 下
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.14.tar.gz/from/http://mysql.he.net/
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
二. 安装 cmake
cd /usr/local/src
tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
gmake
gmake install
cd ../
tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install
cd ../
三. 编译安装 MySQL 5.5.14
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar xvf mysql-5.5.14.tar.gz
cd mysql-5.5.14/
/usr/local/bin/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=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=/data/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
make
make install
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
mkdir -p /data/mysql/
mkdir -p /data/mysql/data/
mkdir -p /data/mysql/log/
chown -R mysql:mysql /data/mysql/
cd support-files/
cp my-large.cnf /data/mysql/my.cnf
cp mysql.server /etc/init.d/mysqld
四. 配置启动MySQL 5.5.13
1. 若有需要请先修改 mysql 的配置 my.cnf
vim /data/mysql/my.cnf
binlog_format = mixed
lower_case_table_name = 1
2. mysql 初始化安装
/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/data/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/data \
--user=mysql
3. 将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/data/mysql/data
chkconfig --add mysqld
chkconfig --level 345 mysqld on
4. 启动 mysql
service mysqld start
5.设置用户密码
MySQL标准设置
为root帐户设置初始密码
/usr/local/mysql/bin/mysqladmin -u root password new-password
密码不要加‘’号
删除本机匿名连接的空密码帐号
本机登录mysql
mysql>use mysql; //选择默认数据库mysql
先删掉这么无用的
delete from user where host='127.0.0.1' or host='::1' or host='localhost.localdomain';
use mysql
mysql>delete from user where password="";//不允许root密码为空
mysql>flush privileges;
mysql>quit
容许root用户是远程登录
对于root账号,如果考虑安全应该新建其他账号用于远程登录,root账号可以不必开启远程登录。不过对于一般使用,没有太多安全需求,允许root用户远程登录可以方便管理,毕竟使用专用管理软件的图形界面在操作方面要方便的多。
6.设置MySQL远程连接
1) mysql 数据库端设置
# /mysql -u root -p //进入数据库
mysql>use mysql
mysql>select user,password,host from user;
mysql>grant all privileges on *.* to root@’%’ identified by “root123″;给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。并把远程登录用户的密码设置为root
mysql>grant all privileges on *.* to root@’%’ with grant option;//给用户分配权限。
mysql> flush privileges;
mysql>quit
至此mysql的安装和基本配置操作完成。