smith88 发表于 2018-10-4 11:05:10

CentOS 7下源码安装MySQL 5.6

  CentOS 7下源码安装MySQL 5.6
  参考
  (1):http://www.linuxidc.com/Linux/2015-06/119354.htm
  (2):http://jingyan.baidu.com/article/e2284b2b42d28ce2e6118dc9.html
  1、mysql安装环境
系统环境Linux iZ25dmhrwpjZ 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linuxmysql版本(mysql-5.6.28.tar.gz)  2、mysql下载地址:http://dev.mysql.com/downloads/mysql/

  wget http://wget dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28.tar.gz
  下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件)
  md5sum mysql-5.6.28.tar.gz
  4bc8fde6d04fb7104df1ba8a4025b156mysql-5.6.28.tar.gz
  3、通过yum安装依赖的工具
  yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio
  yum install libaio libaio-devel -y
  yum install perl-Data-Dumper -y
  yum install net-tools -y
  4、检查是否安装过:
  rpm -qa | grep mysql*
  5、解压:
  cd /usr/local/src
  sudo tar -zxvf ~/src/mysql-5.6.28.tar.gz
  cd mysql-5.6.28
  6、编译
  sudo 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=/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
DCMAKE_INSTALL_PREFIX/usr/local/mysql安装目录DMYSQL_DATADIR/usr/local/mysql/data数据库位置DSYSCONFDIR/etc配置文件位置DWITH_MYISAM_STORAGE_ENGINE1安装myisam存储引擎DWITH_INNOBASE_STORAGE_ENGINE1安装innodb存储引擎DWITH_MEMORY_STORAGE_ENGINE1安装memory存储引擎DWITH_READLINE1快捷键功能DMYSQL_UNIX_ADDR/var/lib/mysql/mysql.sockUnix socket 文件路径DMYSQL_TCP_PORT3306MySQL监听端口DENABLED_LOCAL_INFILE1  许从本地导入数据-
DWITH_PARTITION_STORAGE_ENGINE1安装数据库分区DEXTRA_CHARSETSall安装所有扩展字符集DDEFAULT_CHARSETutf8使用utf8字符DDEFAULT_COLLATIONutf8_general_ci校验字符
  编译成功
  sudo make
  sudo make install
  7、首先查看是否有mysql账户
  less /etc/passwd /etc/group | grep mysql
  如果不存在,则创建对应的用户组与用户
  groupadd mysql -
  useradd -g mysql mysql s /sbin/nologin
  修改权限
  chown -R mysql:mysql /usr/local/mysql
  没有报错的情况下,到此mysql数据库安装已经完成;以下为配置部分
  8、配置
  cd /usr/local/mysql
  进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
  scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
  注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
  注意:在CentOS 7版操作系统的最小安装完成后,在/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
  service mysql start --启动MySQL
  service mysql status --查看状态
  systemctl start mysql.service    --启动MySQL
  systemctl status mysql.service    --查看状态
  netstat -lntp | grep 3306
  9、配置密码
  方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  方法2: 用UPDATE直接编辑user表
  mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
  mysql> FLUSH PRIVILEGES;
  在丢失root密码的时候,可以这样
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
  mysql> FLUSH PRIVILEGES;

页: [1]
查看完整版本: CentOS 7下源码安装MySQL 5.6