centos7源码编译安装mysql5.7.27

1. 卸载mysql

  1. 查看是否安装过mysql或mariadb
rpm -qa |grep -i mysql
rpm -qa |grep -i mariadb
image.png
  1. 卸载已安装mysql或mariadb
    如果有,则先停止服务,然后执行命令 rpm -e --nodeps +包名,卸载上面检查到服务
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
...
  1. 再次查看是否安装
rpm -qa |grep -i mysql
rpm -qa |grep -i mariadb
where is mysql或者find / -name mysql #检查分散的文件夹
[root@localhost ~]# whereis mysql
mysql: /usr/lib64/mysql
rm -rf  /usr/lib64/mysql #删除

至此mysql或mariiadb已卸载完成。

2. 安装mysql

  1. 安装mysql所需的依赖包
yum install -y  gcc gcc-c++ cmake ncurses ncurses-devel bison
  1. 官网下载mysql源码文件
    打开mysql官网下载地址,选择5.7.27版本,选择Source Code源码,选择Generic Linux (Architecture Independent)linux通用版,选择第二个Boost Headers的包,如果选择第一个,还需要下载boost才能安装mysql,下载后通过ftp上传到服务器上。
    image.png

也可以在linux上通过命令

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz 
# 默认下载当前目录,如果想指定下载目录可以用命令 wget -p 目录 url
  1. 安装mysql
  • 创建用户
useradd -s /sbin/nologin mysql
  • 建立所需目录并更改所有者为mysql
mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql
  • 解压压缩包
tar -zxvf mysql-boost-5.7.27.tar.gz -C /usr/local/mysql
  • 切换到解压目录,编译安装
cd /usr/local/mysql/mysql-5.7.27/
#编译
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
  • 编译成功如下图


    image.png
make && make install
  • 安装完后目录结构


    image.png
  • 编辑/etc/my.cnf ( 如果没有则创建)
touch /etc/my.cnf #新建my.cnf
vim /etc/my.cnf #编辑my.cnf,没有vim可以安装或者用vi命令
chown -R mysql:mysql mysql #把mysql目录用户和组更改为mysql
cp mysql.server /etc/init.d/mysqld #拷贝可执行配置文件
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data #初始化mysql
  • 如下图,可以看到初始化成功,root帐号密码为空。


    image.png
service mysqld start #启动mysql方式一
systemctl start mysqld #启动mysql方式二
systemctl enable mysqld #尝试用这个命令设置开机启动,但是失败
chkconfig mysqld on  #用此命令设置开机启动,成功
  • 添加mysql进环境变量,方便任意位置登录mysql
echo -e '\n\nexport PATH=/usr/local/mysql/bin:$PATH\n' >> /etc/profile && source /etc/profile #  意思就是在/etc/profile这个文件的最后添加PATH=/usr/local/mysql/bin:$PATH,然后执行 source /etc/profile
  1. 登录mysql
mysql -uroot -p #登录mysql,因为密码为空,所以在输入密码时直接回车即可
image.png
  • 修改root用户密码
update user set authentication_string=PASSWORD('#这里输你的密码#') where User='root';  #修改root密码
update user set host = '%' where user = 'root'; #修改任意主机可以通过root远程登录
flush privileges; #刷新表
exit
image.png
  • 完成

你可能感兴趣的:(centos7源码编译安装mysql5.7.27)