安装前,先确保本地的mysql已经被卸载:
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql // 不解决依赖
安装mysql:
安装编译代码需要的包:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载解压mysql:
tar xvf mysql-5.6.35.tar.gz
cd mysql-5.6.35
编译安装:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //安装的目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ //数据存放目录
-DSYSCONFDIR=/etc \ //配置文件目录
-DWITH_MYISAM_STORAGE_ENGINE=1 \ //支持myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持innodb存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/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
make && make install
配置mysql:
groupadd mysql
useradd -g mysql mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
初始化mysql配置
cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
mv /etc/my.cnf{,.bak}
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。
启动mysql:
添加服务脚本到init.d目录下,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
新建mysql的sock目录,并启动
mkdir /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
service mysql start --启动MySQL
设置PATH,要不不能直接调用mysql,修改/etc/profile.d/mysql.sh文件,在文件末尾添加
export PATH=/usr/local/mysql/bin:$PATH
. /etc/profile.d/mysql.sh
修改root密码:
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
设置root用户可以远程访问:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
红色的password为远程访问时,root用户的密码,可以和本地不同。
至此,mysql编译安装完毕