1. 安装
--假设已经有mysql-5.5.10.tar.gz及cmake-2.8.4.tar.gz两个源码压缩文件
1)先安装cmake
--注:
1)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
--注:
1)创建mysql安装目录 。
# mkdir -p /usr/local/mysql/data
--注:
1)创建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 . -DWITH_BOOST=/usr/local/boost \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.25 \
-DMYSQL_DATADIR=/usr/local/mysql5.7.25/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1;
--注:
1)-DWITH_BOOST=/usr/local/boost:指定boost的位置。
2)-DCMAKE_INSTALL_PREFIX=/usr/local/mysql:指定mysql安装目录。
3)-DINSTALL_DATADIR=/usr/local/mysql/data:指定mysql数据目录。
4)-DDEFAULT_CHARSET=utf8:指定数据库字符集。
5)-DDEFAULT_COLLATION=utf8_general_ci:指定字符排序规则。
6)-DEXTRA_CHARSETS=all:指定安装所有扩展字符集。
7)-DENABLED_LOCAL_INFILE=1:指定允许从本地导入数据。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
--注:
1)重新编译时,需要清除旧的对象文件和缓存信息。
# make
# make install
2. 配置及管理
1)设置目录权限
# cd /usr/local/mysql
# chown -R root:mysql
--注:
1)当前目录中所有文件的所有者设置为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
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql &
--注:
1)启动mysql,但不能用该命令停止mysql,启动日志写入文件/usr/local/mysql/data/localhost.err。
# mysqladmin -u root -p shutdown
--注:
1)关闭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
--注:
1)将mysql.server拷贝至系统服务目录/etc/init.d,并将其命名为mysql。
2)有些系统中,mysql.server在/usr/local/mysql/share/mysql/目录下,而非本文中的/usr/local/mysql/support-files/目录下。
# chkconfig --add mysql
# chkconfig --list
# chkconfig --level 35 mysql on
--注:
1)将mysql服务设定为3、5等级自动启动。
# chkconfig mysql on
--注:
1)将mysql服务设定为2、3、4、5等级自动启动。
7)修改mysql用户root密码以及开启远程连接授权
# mysql -u root -p
mysql> use mysql;
mysql> desc user;
mysql> grant all privileges on *.* to root@"%" identified by "rootpasswd";
或
mysql> grant all pivileges on *.* to 'root'@'%' identified by 'rootpasswd' with grant option;
--注:
1)如不能进行远程连接,且报错误mysql error number 1130,按如下方法:
mysql> update user set Password = password('rootpasswd') where user='root';
mysql> select host,user,password from user where user='root';
mysql> flush privileges;
mysql> exit
2)如果还不能进行远程连接,可以关闭防火墙试试,命令如下:
# /etc/rc.d/init.d/iptables stop