1.安装
--假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源码压缩文件
1)先安装cmake(mysql5.5以后是通过cmake来编译的)
# tar -zxv -f cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure
# make
# make install
2)创建mysql安装目录及数据目录
# mkdir -p /usr/local/mysql --mysql安装目录
# mkdir -p /usr/local/mysql/data --mysql数据目录
3)创建mysql用户及用户组
# groupadd mysql
# useradd -r -g mysql mysql
4)安装mysql
# tar -zxv -f mysql-5.5.10.tar.gz
# cd mysql-5.5.10
# cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1
--注:
上述命令中参数:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql --安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data --数据库存放目录
-DDEFAULT_CHARSET=utf8 --使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci --校验字符
-DEXTRA_CHARSETS=all --安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 --允许从本地导入数据
# make
# make install
--注:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
2.配置及管理
1)设置目录权限
# cd /usr/local/mysql
# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
# chown -R mysql:mysql data
2)拷贝mysql参数文件
# cp support-files/my-medium.cnf /etc/my.cnf
3)初始化数据库(创建系统数据库)
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
4)设置环境变量
# vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
5)手动启动和关闭mysql
--启动mysql
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql & --启动mysql,但不能用该命令停止mysql,启动日志写在此文件下:/usr/local/mysql/data/localhost.err
--关闭MySQL服务
# mysqladmin -u root -p shutdown --此时,mysql root用户还没有设置密码,所以为空。输入密码时,直接点回车键即可。
6)通过服务启动和关闭mysql(前提是,mysql已添加至系统服务中)
# service mysql.server start
# service mysql.server stop
# service mysql.server restart
--如运行上述命令时出现:mysql.server 未识别的服务信息,则可能是mysql未添加至系统服务所导致,可通过如下方法添加。
# cp support-files/mysql.server /etc/init.d/mysql --将mysql.server拷贝至系统服务目录/etc/init.d中,并将其命名为mysql
# chkconfig --add mysql
# chkconfig --list
--将mysql服务设定为3、5等级自动启动
# chkconfig --level 35 mysql on
--将mysql服务设定为2、3、4、5等级自动启动
# chkconfig mysql on
--注:
有些系统中,mysql.server在/usr/local/mysql/share/mysql/目录下,而非本文中的/usr/local/mysql/support-files/目录下。
7)修改mysql用户root密码以及开启远程连接授权
# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; --开启用户root远程连接权限
or
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION; --如不能进行远程连接,且报出错误mysql error number 1130
mysql> update user set Password = password('xxxxxx') where User='root'; --更改用户root密码
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
mysql> exit
--注:
如果还不能进行远程连接,可以关闭防火墙试试,命令如下。
# /etc/rc.d/init.d/iptables stop