配置yum安装方式

1、配置本地yum源

  1. vim /etc/yum.repos.d/rhel-source.repo
  2. [rhel-source]
  3. name=Red Hat Enterprise Linux $releasever - $basearch - Source
  4. baseurl=file:///mnt
  5. enabled=1
  6. gpgcheck=0

2、清除yum缓存

  1. yum clean all

3、更新yum源

  1. yum update all

yum安装            yum install 软件名

卸载                    yum remove 软件名

安装开源mysql ===mysql5.7.10.tar.gz

安装依赖

  1. yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools wget

1、卸载rpm mysql软件

  1. # rpm -qa | grep mysql
  2. mysql-libs-5.1.-.el6_5.x86_64
  3.  
  4. # yum remove -y mysql-libs-5.1.-.el6_5.x86_64

2、新建用户

  1. # cat /etc/passwd | grep mysql
  2. mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
  3. # userdel mysql //删除rpm的用户
  4. useradd -M -s /sbin/nologin mysql
  5. groupadd mysql //添加用户组
  6. useradd -r -g mysql mysql

3、解压缩

4、配置安装参数

  1. yum -y install cmake

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

  1. cmake
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
  3. -DMYSQL_DATADIR=/data/mysql/ #数据文件存放位置
  4. -DSYSCONFDIR=/etc #my.cnf路径
  5. -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
  6. -DWITH_INNOBASE_STORAGE_ENGINE=0 #支持InnoDB引擎
  7. -DWITH_MEMORY_STORAGE_ENGINE=1 #支持InnoDB引擎
  8. -DWITH_READLINE=1 #快捷键功能(我没用过)
  9. -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径
  10. -DMYSQL_TCP_PORT=3306 #端口
  11. -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
  12. -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区
  13. -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk #安装需要的字符集
  14. -DDEFAULT_CHARSET=utf8 #默认字符
  15. -DDEFAULT_COLLATION=utf8_general_ci #默认字符集-DMYSQL_USER=mysql

参数详解

  1. 错误1error: No curses/termcap
  2. 解决办法: # yum install ncurses-devel

5、make  编译

  1. 错误2:“../depcomp: line 571: exec: g++: not found
  2.  
  3. 解决办法:yum install gcc*

6、make install

  1. 错误3
  2. ../include/my_global.h:982: 错误:对 C++ 内建类型 bool 的重声明
  3. make[]: *** [my_new.o] 错误 1
  4. make[]: Leaving directory `/usr/src/mysql-5.1.49/mysys'
  5. make[1]: *** [all-recursive] 错误 1
  6. make[1]: Leaving directory `/usr/src/mysql-5.1.49'
  7. make: *** [all] 错误 2
  8. 解决办法: ./configure加入参数 “--with-unix-socket-path=/tmp/mysql.sock”//指定套接字路径

7、生成mysql的配置文件

  1. # cp support-files/my-medium.cnf /etc/my.cnf

更改配置文件

  1. [root@pythonS1 ~]# vim /etc/my.cnf
  2. [client]
  3. default-character-set=utf8
  4. port=3306
  5. socket=/data/mysql/mysql.sock
  6.  
  7. [mysqld]
  8. character-set-server=utf8
  9. pid-file = /data/mysql/mysql.pid
  10. log-error=/var/log/mysqld.log
  11. datadir=/data/mysql
  12. basedir=/usr/local/mysql
  13. socket=/data/mysql/mysql.sock
  14. user=mysql
  15. # Disabling symbolic-links is recommended to prevent assorted security risks
  16. symbolic-links=0
  17.  
  18. [mysqld_safe]
  19. log-error=/var/log/mysqld.log
  20. pid-file=/mysql/mysql/mysqld.pid

参照配置

经验之谈

由于navicat连接执行速度慢:加入一句:[mysqld] skip-name-resolve

8、初始化mysql数据库

  1. /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql

注意:更改为

  1. # /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  1. 之前版本mysql_install_db是在$mysql_basedir/script下,5.7放在了$mysql_basedir/bin目录下,并会在将来被移除,转而使用mysqld替代
  2. - -initialize会生成一个随机密码(保存在~/.mysql_secret),而–initialize-insecure不会生成密码
  3. -–datadir目标目录下不能有数据文件
  4. 其他参数:mysql_install_db — Initialize MySQL Data Directory

个人表示不喜欢软连接方式,所以直接启动

  1. /usr/local/mysql/bin/mysqld_safe &

9、修改属主、属组

  1. chown mysql.mysql -R /data/mysql
  2. chmod +x /usr/local/mysql
  3. chown -R :mysql /var/lib/mysql/

环境变量配置

  1. # vi /etc/profile
  2.  
  3. -- 编辑/etc/profile文件在最后添加如下两行 --
  4.  
  5. PATH=/usr/local/mysql/bin:$PATH
  6. export PATH
  7.  
  8. # source /etc/profile

10、生成mysql控制服务

  1. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld(以后可以使用/etc/init.d/mysqld restart 命令)
  2. # chmod a+x /etc/rc.d/init.d/mysqld
  3. # chkconfig --add /etc/rc.d/init.d/mysqld //添加为系统服务,目的是为了开机自动启动(以后可以使用chkconfig mysqld on命令)

方法

11、启动mysqld服务

  1. # /etc/init.d/mysqld start
  2. netstat -antp | grep mysqld

12、建立mysql命令的软链接

  1. 环境变量PATH
  2. echo $ PATH
  3. # ln -s /usr/local/mysql/bin/* /usr/local/bin/

13、保证其他软件(apache、nginx、php)和mysql可以协同工作

  1. # ln -s /usr/local/mysql/lib/mysql/* /usr/local/lib
  2.  
  3. # ln -s /usr/local/mysql/include/mysql/* /usr/local/include/

14.修改密码:

  1. A.进入配置文件:/etc/my.cnf
  2.   [mysqld]
  3.   skip-grant-tables
      
 default_authentication_plugin = mysql_native_password --》mysql8.0的写法
  1.   加入这句
  2. B.
  3.  
  4.   /usr/local/mysql/bin/mysql进入
  5.   UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';
  6.   FLUSH PRIVILEGES;
  7.   验证密码是否成功:
  8.   select user,host,password from mysql.user;
  9.   是否有md5
  1.   create database db_test;
  2. C.创建一个新用户用于管理 db_test 数据库
  3.   insert into mysql.user(Host,User,Password) values("localhost","admin",password("newpassword"));
  4.   flush privileges;
  5. D.赋予权限
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'python123' WITH GRANT OPTION; # 这句是针对本机的, 以后可以使用127.0.0.1, 然后在下面那句
  6.   grant all privileges on db_test.* to 'user'@'%' identified by 'newpassword'; %在这里表示%:代表0个一个或多个任意字符,也可以是网段,192.168.10.%等注意加引号
      

Mysql5.7版本编译安装及配置的更多相关文章

  1. Linux下指定版本编译安装LAMP

    说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

  2. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  3. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  4. mysql-5.6.17编译安装和常见问题

    mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...

  5. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  6. 解压版MySQL5.7.1x的安装与配置

    解压版MySQL5.7.1x的安装与配置 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英 ...

  7. mysql5.7.11编译安装以及修改root密码小结

    系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...

  8. MySQL5.0版本的安装图解教程

    MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.96是最新的稳定版本. mysql 下载地址 http://www.jb51.net/softs/2193.html 下面的是M ...

  9. MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版

    MySQL5.7.10免安装版配置,mysql5.7.10免安装版  最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: ...

随机推荐

  1. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  2. Nvidia Nsight + .NET

    https://devtalk.nvidia.com/default/topic/804306/nsight-4-5-can-t-debug-net-applications/ http://comm ...

  3. yourphp读取分类名称{$Categorys[$r[catid]]['catname']}

    页面代码:  product_list.html 提供分类的id,找出分类的名称 {$Categorys[$r[catid]]['catname']}

  4. VS2013-解决error C4996: 'fopen'问题

    VS2013中如何解决error C4996: 'fopen'问题 初次使用vs系列编辑器编写控制台应用程序时常出现如下错误: error C4996: 'fopen': This function ...

  5. asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别

    转载自 :  <asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别> 先复制过来 ...

  6. Java调试

    线上load高的问题排查步骤是: 先用top找到耗资源的进程 ps+grep找到对应的java进程/线程 jstack分析哪些线程阻塞了,阻塞在哪里 jstat看看FullGC频率 jmap看看有没有 ...

  7. ajax实例详解

    页面通过ajax和后台进行数据交互是非常简洁且方便的.特别是封装成json数据格式. 此处使用的是jQuery的ajax var params = { version:new Date().getTi ...

  8. php正则表达式匹配用户名规则:由字母开头的6-16位字母和数字组成的字符串

    $pattern = '/^[a-zA-Z]{1}[a-zA-Z0-9]{5,15}$/i';

  9. Highcharts X轴名称太长,如何设置下面这种样式

      Highcharts所有的图表除了饼图都有X轴和Y轴,默认情况下,x轴显示在图表的底部,y轴显示在左侧(多个y轴时可以是显示在左右两侧),通过chart.inverted = true 可以让x, ...

  10. JavaScript-也来谈--闭包

    闭包,以前研究过,可能是当初理解的不够透彻,现在又忘了,(给自己一个台阶下`-...)毕竟js一直没怎么用, 为了防止自己过段时间再忘了,写篇重要的闭包重点, 这样时不时也能温习下知识,不用每次想了解 ...