1.假设已经有MysqL-5.5.25.tar.gz以及cmake-2.8.4.tar.gz两个源文件
(1)先安装cmake(MysqL5.5以后是通过cmake来编译的)
[root@ rhel5 local]#apt-get install cmake
[root@ rhel5~]#mkdir -p /usr/local/MysqL //安装MysqL [root@ rhel5~]#mkdir -p /usr/local/MysqL/data //存放数据库
[root@ rhel5~]groupadd MysqL [root@ rhel5~]useradd -r -g MysqL MysqL
(4)安装MysqL
[root@ rhel5 local]#tar -zxv -f MysqL-5.5.10.tar.gz [root@ rhel5 local]#cd MysqL-5.5.10 [root@ rhel5 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 [root@ rhel5 MysqL-5.5.10]#make [root@ rhel5 MysqL-5.5.10]#make install
参数说明:
-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 //允许从本地导入数据
cmake 的时候有报错,根据提示还需要 安装 g++ 等两个软件包
1 2 |
|
重新 cmake 之前一定要 执行
1 |
|
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
2.配置
(1)设置目录权限
[root@ rhel5~]# cd /usr/local/MysqL [root@ rhel5 MysqL]# chown -R root:MysqL . //把当前目录中所有文件的所有者所有者设为root,所属组为MysqL [root@ rhel5 MysqL]# chown -R MysqL:MysqL data
(2)
[root@ rhel5 MysqL]# cp support-files/my-medium.cnf /etc/my.cnf
(3)创建系统数据库的表
[root@ rhel5 MysqL]# cd /usr/local/MysqL [root@ rhel5 MysqL]# scripts/MysqL_install_db --user=MysqL
(4)设置环境变量
[root@ rhel5~]# vi /root/.bash_profile 在PATH=$PATH:$HOME/bin添加参数为: PATH=$PATH:$HOME/bin:/usr/local/MysqL/bin:/usr/local/MysqL/lib [root@ rhel5~]#source /root/.profile
(5)手动启动MysqL
[root@ rhel5~]# cd /usr/local/MysqL [root@ rhel5 MysqL]# ./bin/MysqLd_safe --user=MysqL & //启动MysqL,但不能停止 启动日志写在此文件下:/usr/local/MysqL/data/localhost.err 关闭MysqL服务 [root@ rhel5 MysqL]# MysqLadmin -u root -p shutdown //这里MysqL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。
(6)另一种简单的启动MysqL的方法(MysqL已经被添加到系统服务中)
[root@ rhel5~]# service MysqL.server start [root@ rhel5~]# service MysqL.server stop [root@ rhel5~]# service MysqL.server restart
如果上述命令出现:MysqL.server 未识别的服务
则可能MysqL还没添加到系统服务中,下面用另一种方法添加:
[root@ rhel5 MysqL]# cp support-files/MysqL.server /etc/init.d/MysqL //将MysqL的启动服务添加到系统服务中
注意:主要是将MysqL.server拷贝到/etc/init.d中,命名为MysqL。本系统中,MysqL.server在/usr/local/MysqL/support-files/MysqL.server中。
然后再用#service MysqL start 来启动MysqL即可。
[root@ rhel5~]# MysqL -u root MysqL MysqL>use MysqL; MysqL>desc user; MysqL> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。 MysqL>update user set Password = password('xxxxxx') where User='root'; MysqL>select Host,User,Password from user where User='root'; MysqL>flush privileges; MysqL>exit 重新登录:MysqL -u root -p
注:如果不能远程连接
MysqL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
原文链接:https://www.f2er.com/ubuntu/356317.html