用户名/密码
mysql/mysql

一、安装mysql: 位置位于 /data/mysql

如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

--1.0 查看linux系统版本、环境-------------------------------------------------------

[root@kangvcar ~]# cat /etc/redhat-release //查看系统的版本
[root@orcl bayaim]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

#安装环境
[root@linux1 Mysql_src]# cat /etc/issue

防火墙 chkconfig iptables off
SELINUX
gedit /etc/sysconfig/selinux
(本来是:SELINUXTYPE=targeted )
SELINUX=disabled
重启reboot
关闭---快照

[root@ums-data mysql]# setenforce 0
setenforce: SELinux is disabled
[root@ums-data mysql]# getenforce
Disabled
[root@ums-data mysql]#

---2.0 安装CMAKE-------------------------------------------------------------
[root@ums-data /]# yum install gcc
[root@ums-data /]# yum install ncurses-devel

[root@ums-data /]# tar -zxvf cmake-2.8.5.tar.gz
[root@ums-data /]# cd cmake-2.8.5
[root@ums-data /]# ./configure
[root@UMS-DATA-SLAVE cmake-2.8.5]# make
[root@UMS-DATA-SLAVE cmake-2.8.5]# make install

---3.0-配置 YUM--------------------------------------------------------------
[root@ums-data /]# vi /etc/resolv.conf
nameserver 114.114.114.114 (在结尾加上)

---CentOS 6
[root@ums-data /]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@ums-data /]# yum makecache --生成缓存

---4.0-创建mysql用户及用户组------------------------------------------------------------
[root@ rhel5~]# groupadd mysql

创建mysql的安装目录及数据库存放目录

useradd -d /home/mysql -m mysql
passwd mysql

[root@bayaim rpm-gpg]# id mysql
uid=987(mysql) gid=1001(mysql) 组=1001(mysql)

如果有,请修改:
[root@tsxs bin]# usermod -s /bin/sh -d /usr/local/mysql -g mysql mysql
输入密码mysql

chown -R mysql:mysql /home/mysql
chmod 755 /home/mysql

[root@ rhel5~]# mkdir -p /usr/local/mysql //安装mysql
[root@ rhel5~]# chown -R mysql.mysql /usr/local/mysql/
[root@ rhel5~]# mkdir -p /data/mysql //存放数据库

[root@bayaim bay]# mkdir -p /usr/local/mysql/scripts

[root@ rhel5~]# chown -R mysql.mysql /data/
[root@ rhel5~]# chown -R mysql.mysql /data/*
[root@UMS-DATA-SLAVE data]# cd /bai/
[root@ums-data bai]# tar -zxvf mysql-5.7.22.tar.gz
[root@UMS-DATA-SLAVE bai]# cd mysql-5.7.22
[root@UMS-DATA-SLAVE mysql-5.7.22]# ll

---5.0-源码编译mysql------------------------------------------------------------

mysql软件目录: -DCMAKE_INSTALL_PREFIX
mysql数据目录: -DMYSQL_DATADIR

[root@UMS-DATA-SLAVE mysql-5.7.22]# time cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock

一定记得无报错,才行!!!

[root@UMS-DATA-SLAVE mysql-5.6.16]# make
[root@UMS-DATA-SLAVE mysql-5.6.16]# make install
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++问题1: 《mysql5.7 必须安装2.9以上的cmake》++++++++
bash: cmake: 未找到命令...
tar -xzvf cmake-2.6.4.tar.gz
cd cmake-2.6.4

依次执行:
./bootstrap
make
make install

++++++++问题2:+++++++++++++

mysql5.7.28 安装过程 报错CMake Error at cmake/boost.cmake:81 (MESSAGE)
CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

问题描述:高版本mysql需要boots库的安装才可以正常运行

解决办法:
1.在/usr/local下创建一个名为boost的文件夹
mkdir -p /usr/local/boost
2.进入这个新创建的文件夹然后下载boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
3.解压
tar -xvzf boost_1_59_0.tar.gz
4.继续cmake,添加上红色部分
即安装后运行:
因为boost并不需要我们安装,只需要放到指定的目录,在安装mysql的时候,指定boost目录即可,再次我将解压后的文件移动到/usr/local/boost目录中。
5.然后回到mysql安装。 只需要加上:-DWITH_BOOST=/usr/local/boost 即可

++++++++问题3:++++++++++
CMake Error at cmake/readline.cmake:83(MESSAGE):Curses library not found.

解决方法:
安装ncurses-devel:
yum -y install ncurses-devel(Debian/Ubuntu需安装libncurses5-dev)

删除mysql解压目录 , 重新执行编译mysql安装

make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc_setops.cc.o] 错误 4

++++++++问题4:+++++++++++
make && make install 命令 执行到49% 报 c++: 编译器内部错误:已杀死(程序 cc1plus)
内存不足,mysql 5.5以上版本编译需要1G以上内存,可以编译安装mysql5.5
解决方法: linux dd 增加swap 内存

++++++++问题5:++++++++++
[root@bayaim mysql-5.7.22]# yum install ncurses-devel
Warning: Bison executable not found in PATH
-- Configuring done
-- Generating done
-- Build files have been written to: /software/mysql-5.5.11

[root@bayaim mysql-5.7.22]# yum install bison

继续安装:

[root@bayaim mysql-5.7.22]# make && make install -- 这个安装时间真是JB长。大约半小时呢。XX

---6.0-添加环境变量------------------------------------------------------------
方法一:
[root@ums-data support-files]# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
[root@ rhel5~]#source /root/.bash_profile

方法二:
[root@query-db data]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@query-db data]# source /etc/profile

---7.0-建立多实例目录------------------------------------------------------------
[root@UMS-DATA-SLAVE scripts]# pwd
/usr/local/mysql/scripts ---------这个目录是 make install 系统自动时候建立的
[root@query-db data]# mkdir -p /data/{mysql3308,mysql3309}
[root@query-db data]# ll
[root@query-db data]# mkdir /data/mysql3308/{log,tmp} ##千万不要建/data/ 听网上人瞎写

更改目录权限
[root@query-db data]# chown -R mysql:mysql /usr/local/mysql/
[root@query-db data]# chown -R mysql:mysql /data/
[root@query-db data]# chown -R mysql:mysql /etc/my.cnf

---先,简单的改改---3307同3306---
[root@orcl mysql3306]# cat my3306.cnf

--8.0-安装数据库------------------------------------------------------------
--8.1-初始化数据库
[root@orcl bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

2019-04-24T05:24:19.801232Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-24T05:24:23.219167Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-24T05:24:23.660821Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-24T05:24:23.764033Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 387d7210-6651-11e9-8685-000c29d26be0.
2019-04-24T05:24:23.788461Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-24T05:24:23.789327Z 1 [Note] A temporary password is generated for root@localhost: )zTtct*FO8zq
注意:所以要把data directory文件删除掉再执行,如果删除目录下的文件还是报同样的错,可以试试把目录删除掉,再创建一个,然后授权:

--8.2-初始化3308/3309数据库

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3308/data
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3309/data

注意:1.每次执行都会生成 data/ 文件夹,如果中途失败,就要手动删除!!
2.这一步执行完,/data/mysql3307/data 下就生成数据库文件了。

--defaults-file="/data/mysql3306/my3306.cnf"

修改my.cnf(在一个文件中修改即可)

[client]
port=3308
socket=/data/mysql3308/mysql.sock

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /data/mysql/mysqld_multi.log

[mysqld]
user=mysql
basedir = /usr/local/mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld3308]

mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql3308/data
port=3308
server_id=3308
socket=/data/mysql3308/mysql3308.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql3308/log/slow.log
log-error = /data/mysql3308/log/error.log
binlog_format = row
log-bin = /data/mysql3308/log/mysql3308_bin

[mysqld3309]

mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql3309/data
port=3309
server_id=3309
socket=/data/mysql3309/mysql3309.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql33079/log/slow.log
log-error = /data/mysql3309/log/error.log
binlog_format = row
log-bin = /data/mysql3309/log/mysql3309_bin

注意:这种方式,不需要建立log 日志。

7 创建自动启动文件
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld3306
[root@query-db init.d]# vi /etc/rc.d/init.d/mysqld3307

[root@query-db init.d]# service mysqld3307 restart

--9.0-启动mysql数据库------------------------------------------------------------

分配独立配置文件

#配置文件优先级,/etc/与basedir目录下不要存在my.cnf配置文件

/etc/my.cnf >basedir/my.cnf >datadir/my.cnf

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3306/my3306.cnf --user=mysql & //启动MySQL,但不能停止

mysql --socket=/data/mysql3306/mysql.sock -uroot -proot
回车,直接进去mysql

2.14.mysqld_multi进行多实例管理

启动全部实例:[root@mysql ~]# /usr/local/mysql/bin/mysqld_multi start
关闭全部实例: [root@mysql ~]# /usr/local/mysql/bin/mysqld_multi report

查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306
停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306
查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306

[root@test4 ~]# /usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/my.cnf start 3308

启动mysql服务器:./mysqld_multi --defaults-file=/etc/my.cnf start 3306-3307
关闭mysql服务器: mysqladmin shutdown

(2)启动多实例
[root@test4 ~]# /usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/my.cnf start 3308
[root@test4 ~]# mysqld_multi --defaults-extra-file=/etc/my.cnf stop 1,2,3
--------------------------------------------

[root@oradata mysql3308]# mysql -h127.0.0.1 -P 3308 -uroot -p
[root@oradata mysql3308]# mysql --socket=/data/mysql_3306/data/mysql_3306.sock
[root@oradata mysql3308]# mysql -S /data/mysql_3306/data/mysql_3306.sock

[root@query-db data]# mysql --socket=/data/mysql_3306/data/mysql_3306.sock -uroot -proot
[root@query-db data]# mysql --socket=/data/mysql_3307/data/mysql_3307.sock -uroot -proot

mysql --socket=/data/mysql3308/mysql3308.sock -uroot -p
mysql --socket=/data/mysql3308/mysql3308.sock -uroot -prootBPY123.#

mysql --socket=/data/mysql3309/mysql3309.sock -uroot -p
mysql --socket=/data/mysql3309/mysql3309.sock -uroot -prootBPY123.#

[root@orcl data]# mysql -h127.0.0.1 -P 3308 -uroot -p
[root@orcl data]# mysql --socket=/data/mysql3308/mysql3308.sock -uroot -prootBPY123.# -hlocalhost

修改3307实例密码:
# /usr/local/mysql/bin/mysqladmin -u root password 'root' -S /data/mysql_3308/data/mysql_3308.sock #设置管理员密码

5. 关闭mysql多实例方式
# /usr/local/mysql/bin/mysqladmin -u root -p -P 3306 -S /data/mysql_3306/mysql_3306.sock shutdown
# /usr/local/mysql/bin/mysqladmin -u root -p -P 3307 -S /data/mysql_3307/data/mysql_3307.sock shutdown
# /usr/local/mysql/bin/mysqladmin -u root -p -P 3308 -S /data/mysql_3308/data/mysql_3308.sock shutdown

[root@orcl data]# mysqladmin shutdown --socket=/data/mysql3308/mysql3308.sock -uroot -prootBPY123.# -hlocalhost
[root@orcl data]# mysqladmin shutdown --socket=/data/mysql3309/mysql3309.sock -uroot -prootBPY123.# -hlocalhost

或采用kill方式,或编

查看端口:

[root@oradata ~]# lsof -i :3306
[root@oradata ~]# netstat -lnt|grep 330

--10.0-修改mysql密码------------------------------------------------------------

--10.1-登录
修改MySQL的root用户的密码以及打开远程连接

[root@UMS-DATA-SLAVE mysql]# mysql -uroot -p
Enter password:
回车
直接进去

--10.2-修改密码
MySQL5.7 加强了安全保障,以上意思是密码不符合安全策略要求,我们输入一个8位或以上长度,复杂一点的密码,比如:

mysql>use mysql;
mysql>desc user;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'rootBPY123.#' WITH GRANT OPTION;
mysql>update mysql.user set authentication_string=password('rootBPY123.#') where user='root' ;
mysql> select Host,User from user where User='root';

删除空用户
mysql>DELETE FROM mysql.user WHERE user='';
mysql>flush privileges;
mysql>exit

bayaim_Centos7.6_mysql源码5.7-multi_20190424.txt的更多相关文章

  1. bayaim_Centos7.6_mysql源码5.7-多my.cnf_20190424.txt

    用户名/密码mysql/mysql 一.安装mysql: 位置位于 /data/mysql 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除 ...

  2. php 读取网页源码 , 导出成txt文件, 读取xls,读取文件夹下的所有文件的文件名

    <?php // 读取网页源码$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLO ...

  3. hadoop2.x源码编译

    转载请标明出处: http://blog.csdn.net/zwto1/article/details/50733753: 介绍 本篇主要会涉及以下内容: 学会编译hadoop2.x源码 编译hado ...

  4. tomcat源码研究之源码导入eclipse

    版本:8.5.x官网:https://tomcat.apache.org/svn.html1. 下载源码,git镜像:https://github.com/apache/tomcat85 .2. 导入 ...

  5. 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值

    最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u9 ...

  6. spring 源码解析

    1. [文件] spring源码.txt ~ 15B     下载(167) ? 1 springн┤┬вио╬Ш: 2. [文件] spring源码分析之AOP.txt ~ 15KB     下载( ...

  7. Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

    功能说明 输入文件路径,在浏览器输出文件预览信息,经测试极速(Chrome).IE9.Firefox通过 分类文件及代码说明  DemoFiles 存放可测试文件 Default.aspx  启动页 ...

  8. 第4章2节《MonkeyRunner源码剖析》ADB协议及服务: ADB服务SERVICES.TXT翻译参考(原创)

    天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文“寻求合作伙伴编写<深入理解 MonkeyRunner>书籍“.但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在 ...

  9. 「Android」adb调试源码(针对dumpsys SurfceFlinger、trace.txt获取)

    首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看.以及ANR问题如何获取trace文件并简单分析. -×*********** ...

随机推荐

  1. 使用 RMI 实现方法的远程调用

    RMI 介绍 RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此 ...

  2. Spring底层源码分析

    Spring 运行原理 Spring 启动时读取应用程序提供的 Bean 配置信息,并在 Spring 容器中生成一份相应的Bean 配置注册表,然后根据这张注册表实例化 Bean,装配好 Bean ...

  3. MongoDB第一天(MongoDB的简介和安装)

    MongoDB 简介 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++语言编写.在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  4. mysql主从复制原理及实践

    Mysql主从复制原理及实践 mysql主从框架       MySQL主从架构是MySQL集群中最基本也是最常用的一种架构部署,能够满足很多业务需求,常见的有一主一从或者一主多从.可以防止单一主机的 ...

  5. [TimLinux] 开博一个月了

    做事情,怕的确实是坚持!为了自己尽可能的每天一篇博文,时常在下班后,23点开始写博,有时候写到接近一点钟.但是这第一个月,确实坚持下来了.平均每天一篇.写博的过程,其实是: 知识的总结过程: 因为要求 ...

  6. ARTS-S CentOS 7 ssh相关

    修改默认端口 vi /etc/ssh/sshd_config 把Port的注释删除了改成自己想要的值 重启service sshd restart 或者sudo /etc/init.d/ssh res ...

  7. 小胖求学系列之-文档生成利器(下)-smart-doc

    叮叮叮....一阵铃声响起,大家都陆续来到了课堂,看老师没来,小张和小胖又闲聊起来,小张问:怎么样,smart-doc好用吧.小胖笑着说:挺好用的,不过? 小张看卖关子,问到:不过什么,有什么新发现? ...

  8. hdu 1054 Strategic Game (简单树形DP)

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. Python之工作方向

    "python基础-->(函数/面向对象/网络编程(scoket套接字)/并发编程(mutiprocessing)) "运维+web开发-->页面展示(django/f ...

  10. java8-StreamAPI之collection归约操作

    一说明 经过前一篇的StreamAPI学习,基本的流操作我相信大家都熟练于心了,那么今天是要详细解析一下收集器(collect)这么API 前提要区分,collect(StreamAPI)与coll ...