安装 MySQL 有很多种方法,这里记录的是源码编译的安装方法

1、用 find 命令查找系统中有没有安装过 MySQL,执行 find / -name "mysql*" 

centos7 强制安装参数 centos7安装程序命令_mysql

2、执行卸载依赖命令,yum remove mysql mysql-server mysql-libs compat-mysql 

centos7 强制安装参数 centos7安装程序命令_MySQL_02

 

 3、用 rpm -qa 命令查看系统中是否安装过 MySQL 程序,执行 rpm -qa | grep mysql 

centos7 强制安装参数 centos7安装程序命令_centos7 强制安装参数_03

 

 4、如果存在 MySQL 包,执行 rm -rf  文件名 ,继续删除文件

5、执行安装 MySQL 需要的编译工具和库文件命令,yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

  5.1、如果报缺少文件,执行以下命令:

    yum  install epel-release

    yum  update 

    yum install libmcrypt libmcrypt-devel mcrypt mhash

6、使用 tar -zxvf 命令解压安装包

7、进入解压后的文件中,执行 ./configure --prefix=/usr/local/mysql 命令,选择编译安装的路径

centos7 强制安装参数 centos7安装程序命令_MySQL_04

8、执行 make 命令,找到 Makefile 文件,编译工程

centos7 强制安装参数 centos7安装程序命令_mysql_05

 

 8.1、报错,应该是mysql 5.1.14以上版本跟gcc 4.5不太兼容导致的;打开Makefile,删掉1146行至1163行,即do_abi_check:目标后的所有语句,在次执行make命令

centos7 强制安装参数 centos7安装程序命令_MySQL_06

 

9、执行 make install 命令,成功后再、usr/local 路径下编译出文件名为 MySQL 目录的工程

10、创建 MySQL 的用户和组,执行以下命令:

  groupadd mysql

  useradd mysql -g mysql

  passwd mysql

  执行完成后输入密码:QWEasd123,成功

centos7 强制安装参数 centos7安装程序命令_数据库_07

 

 11、使用 chown 命令修改 /usr/local/mysql 目录的所有者和组,语法:chown [选项]... [所有者][:[组]] 文件;输入命令:chown -R mysql.mysql /usr/local/mysql

12、在解压MySQL目录中找到配置文件,并复制到 /etc目录中

  cd /opt/mysql-5.1.30/support-files

  cp my-medium.cnf /etc/my.cnf

13、输入 vim /etc/my.cnf 命令修改配置文件,注释掉  skip-federated 这一行

centos7 强制安装参数 centos7安装程序命令_mysql_08

 

14、初始化 MySQL 数据库,进入 /usr/local/mysql/bin 目录,执行 ./mysql_install_db --user=mysql 命令

15、执行 ./mysqld_safe --user=mysql & 命令启动MySQL服务

16、执行 ps -ef | grep mysql 命令查看是否存在进程

centos7 强制安装参数 centos7安装程序命令_centos7 强制安装参数_09

 

 17、输入 ./mysql -uroot -p 命令登录 MySQL,root 账号默认是空密码,直接回车键登录

centos7 强制安装参数 centos7安装程序命令_mysql_10

 

18、至此部署成功,但是,远程连接MySQL是连不上的,要重置密码,及远程连接赋权

>1、重置密码

登录MySQL,执行:

use mysql; #选择进入MySQL数据库

INSERT INTO user(host,user,password) VALUES('%','root',''); #插入一条数据

UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; #把root用户的密码替换成 newpass

FLUSH PRIVILEGES;  #mysql 新设置用户或更改密码后需用 flush privileges 刷新 MySQL 的系统权限相关表,否则会出现拒绝访问的问题

centos7 强制安装参数 centos7安装程序命令_MySQL_11

至此密码设置成功,可用密码登录验证

>2、授权

grant all on xxxx.* to 'root'@'%' identified by 'password' with grant option;

# xxxx代表创建的数据库;这里的xxxx为mysql,也可以用*代替xxxx.那样远程登陆就会拥有全部数据库的访问权限.password为用户密码,在此为root的密码

至此,授权成功,可远程连接验证