- 删除旧的mysql版本
1.停止与删除服务
service mysql stop
chkconfig --del mysql
2.查看是否已安装:
yum list installed | grep mysql
3.移除已安装:
yum -y remove mysql-libs.x86_64
4.删除安装目录以及启动快捷方式(编译安装方式)
rm -rf mysql
rm -rf /etc/rc.d/init.d/mysql
- 安装新的mysql版本
1.下载mysql5.7.10 source code,选择通用linux版本的source code
http://220.112.193.195/files/11120000007D479D/mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10.tar.gz
2.下载boost,mysql5.7.10需要依赖的一个新东西
http://211.162.127.15/files/4235000001BBBEC9/sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
3.下载cmake3.6.1
https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
4.移除旧的cmake和mysql
rpm -qa | grep cmake
yum -y remove cmake
rpm -qa | grep mysql
yum -y remove mysql-*
5.安装cmake3.6.1
解压:
tar -zxvf cmake-3.6.1.tar.gz
mv cmake3.6.1 /mydata/app/cmake
安装:
./bootstrap
make
make install
6.安装 boost_1_59_0
tar -zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /mydata/app/boost
执行安装:
./bootstrap.sh
./b2
./b2 install
7.安装依赖包
yum install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl
8.配置组和用户
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql (不允许登录的用户名)
mkdir /mydata/app/mysql (存储mysql可执行文件)
mkdir /mydata/mysql (存储mysql数据文件)
设置权限:
chown -R mysql:mysql /mydata/app/mysql/.
chown -R mysql:mysql /mydata/mysql
9.解压mysql
tar -zxvf mysql-5.7.10.tar.gz
10.进到解压后的目录,设置编译选项
cmake \
-DCMAKE_INSTALL_PREFIX=/mydata/app/mysql \
-DMYSQL_UNIX_ADDR=/mydata/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/mydata/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/mydata/app/boost
11.编译安装
make && make install
如编辑安装失败,则执下面的命令清除
make clean
rm -f CMakeCache.txt
12.配置mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlchmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
my.cnf配置大小写不敏感:
vi /etc/my.cnf 添加如下内容,lower_case_table_names=1
13.设置root密码(非必需步骤),当root没有密码无法登录时
# 先停止mysql服务
service mysql stop
# 以安全模式启动mysql
mysqld_safe --skip-grant-tables
# 开启另一个远程终端,登录mysql
mysql -u root
# 设置密码
use mysql;
update user set authentication_string=PASSWORD("123456") where User='root';
# 停止mysql
service mysql stop
# 重启mysql
service mysql start
# 使用root登录
mysql -uroot -p123456
# 此时使用use mysql;打开数据库,会提示密码有问题,使用下面的语句设置一次密码就可以正常使用了
SET PASSWORD = PASSWORD('123456');
- 出错问题
1.ERROR! The server quit without updating PID file (/mydata/mysql/iZ94vn5dxu3Z.pid)
可能问题:
a.权限,上面有设置权限的命令。
b.datadir有问题,使用mysqld --initialize --console初始化相关基础数据库(先创建datadir,为空就行了)