接上一篇文章使用RPM包安装MySQL,确实很方便。但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~
本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14
一、卸载旧版本 1、使用下面的命令检查是否安装有mysql [[email protected] tools]# rpm -qa|grep -i mysql 2、有的话就卸载 [[email protected] tools]# yum remove MySQL-server-5.6.35-1.el6.i686 [[email protected] tools]# yum remove MySQL-devel-5.6.35-1.el6.i686 [[email protected] tools]# yum remove MySQL-client-5.6.35-1.el6.i686 [[email protected] tools]# yum remove mysql-utilities-1.6.5-1.el6.noarch [[email protected] tools]# yum remove mysql-connector-python-2.1.5-1.el6.i686 3、删除相关目录 [[email protected] tools]# whereis mysql [[email protected] tools]# rm -rf /usr/share/mysql [[email protected] tools]# rm -rf /var/lib/mysql [[email protected] mysql]# mv /usr/lib/mysql /usr/lib/mysql.bak #这个当时不确定是rmp包所创建,暂时改名 二、安装MySQL 4、安装编译代码需要的包 [[email protected] tools]# yum list|grep ncurses-devel [[email protected] tools]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel 5、下载MySQL 5.6.35 [[email protected] tools]# wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35.tar.gz [[email protected] tools]# tar zxvf mysql-5.6.35.tar.gz [[email protected] tools]# cd mysql-5.6.35 第一次下载错了(mysql-5.6.35-linux-glibc2.5-i686.tar.gz),编译时总是报错 CMake Error: The source directory “*” does not appear to contain CMakeLists.txt. 要选择的是 MySQL Community Server 下的 Source Code!!! 6、目录创建(-p父目录不存在则创建此目录) [[email protected] mysql-5.6.35]# mkdir -p /usr/local/mysql/data 7、编译安装 [[email protected] mysql-5.6.35]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci [[email protected] mysql-5.6.35]# make && make install [[email protected] mysql-5.6.35]# make clean 三、配置MySQL 8、设置权限 查看是否有mysql用户及用户组 [[email protected] mysql-5.6.35]# cat /etc/passwd [[email protected] mysql-5.6.35]# cat /etc/group 如果没有就添加mysql用户和组 [[email protected] mysql-5.6.35]# groupadd mysql [[email protected] mysql-5.6.35]# useradd -g mysql mysql 修改/usr/local/mysql权限 [[email protected] mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql 9、初始化配置 进入安装路径 [[email protected] mysql-5.6.35]# cd /usr/local/mysql 执行初始化配置脚本,创建系统自带的数据库和表 [[email protected] mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql 10、启动MySQL 添加服务,拷贝服务脚本到init.d目录 如果/etc目录有之前存在的my.cnf文件,将其重命名。启动MySQL服务时,会优先在/etc目录下查找 [[email protected] mysql]# mv /etc/my.cnf /etc/my.cnf.bak # [[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysql [[email protected] mysql]# chkconfig mysql on [[email protected] mysql]# service mysql start --启动MySQL 11、配置用户 设置PATH [[email protected] mysql]# PATH=/usr/local/mysql/bin:$PATH [[email protected] mysql]# export PATH [[email protected] mysql]# source /etc/profile 修改root密码 [[email protected] mysql]# mysql -uroot mysql> SET PASSWORD = PASSWORD(‘mysql5635‘); 设置mydba用户可以远程访问 mysql> GRANT ALL PRIVILEGES ON *.* TO ‘mydba‘@‘%‘ IDENTIFIED BY ‘mysql5635‘ WITH GRANT OPTION; 防火墙设置可参考 http://www.cnblogs.com/ShanFish/p/6519950.html 12、补充 退出后重新在终端登录 [[email protected] ~]# mysql -uroot -p bash: mysql: command not found 使用完整的路径可以登录 [[email protected] ~]# /usr/local/mysql/bin/mysql -uroot -p Enter password: ‘/usr/local/mysql/bin:‘这个有加到path中,不知道为什么就不能直接用mysql 最后建立一个软链接,其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决 [[email protected] ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin
然后就可以安心的玩MySQL啦~,我们可以导入样例数据,安装MySQL Utilities等等~~~
时间: 2024-08-07 17:00:37