一.MySQL5.6与MySQL5.7安装的区别

  • 1、cmake的时候加入了boost 下载boost.org
  • 2、初始化时 cd /application/mysql/bin/mysql 使用mysqld --initialize 替代mysql_install_db,其它参数没有变化:--user= --basedir= --datadir=
  • 3、--initialize会生成一个临时密码
  • 4、还可以用另外一个参数--initialize-insecure (加上生不成密码)

mysql 5.7使用弱密码

validate_password_length 8 # 密码的最小长度,此处为8。
validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。
validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。
validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应:
【0/LOW】:只检查长度。
【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1。
[root@db02 mysql-5.7.20]# yum install -y gcc gcc-c++ automake autoconf
[root@db02 mysql-5.7.20]# yum install make cmake bison-devel ncurses-devel libaio-devel
[root@db02 mysql-5.7.20]#
wget httpss://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_59_0.tar.gz
#登录boost.org下载也可以
[root@db02 mysql-5.7.20]# tar xf boost_1_59_0.tar.gz -C /usr/local/
[root@db02 mysql-5.7.20]#
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \
-DMYSQL_DATADIR=/application/mysql-5.7.20/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

生成密码位置不一样

select user,host passwd from mysql.user

查看有没有密码

5.6

mysql 5.7

二.MySQL用户权限管理

  • 1.MySQL用户基础操作

Linux用户的作用:

  • 1)登陆系统
  • 2)管理系统文件

Linux用户管理:

  • 1)创建用户:useradd adduser
  • 2)删除用户:userdel
  • 3)修改用户:usermod

MySQL用户的作用:

  • 1)登陆MySQL数据库
  • 2)管理数据库对象

MySQL用户管理:

  • 1)创建用户:create user
#创建用户
create user zls@'%';
#创建用户同时给密码(5.7)如果用户不存在没法使用grant
create user qls@'%' identified by '123';
grant all on *.* to qls@'%';
  • 2)删除用户:delete user drop user (user这里是一个命令,不是一个用户)
mysql> drop user root@'db02';
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ''@'db02';
Query OK, 0 rows affected (0.00 sec)
  • )修改用户:update alter grant
mysql> update mysql.user set password=PASSWORD('123') where user='root' and
host='localhost';
#进入库,在操作

用户的定义:

    1. username@’主机域’

    root@'%' select

    root@'%' 超级用户

    root@'172.0.0.0' 超级用户

  • 2)主机域:可以理解为是MySQL登陆的白名单

  • 3)主机域格式:

    • ’10.0.0.51’
    • ’10.0.0.5%’
    • ’10.0.0.%’
    • ’10.0.%.%’
    • ’10.%.%.%’
    • ‘%’
    • ‘db01’
    • ’10.0.0.51/255.255.255.0’
    • ’10.0.0.0/24 不能用,不识别

用户管理实战

刚装完MySQL数据库该做的事情

  • 1、设定初始密码(root@localhost)
[root@db02 mysql-5.7.20]# mysqladmin -uroot -p password 'oldboy123'
  • 2、修改密码
  • 3、使用密码登陆
[root@db02 mysql-5.7.20]# mysql -uroot -p123
  • 4、清理无用的用户

误删除了所有用户

#关闭数据库
[root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop #通用
#启动数据库
[root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking &
#跳过授权表,跳过网路,只能sockect连接,不能tcp\ip连接
#使用mysql库
mysql> use mysql #错误方法1、创建root用户
mysql> create user root@’localhost’;
#错误方法2、创建root用户
mysql> insert into user(user,host,password) values('root','10.0.0.55',PASSWORD('123'));
#错误方法
mysql> insert into user(user,host,password,ssl_cipher,x509_issuer,x509_subject)
values('root','localhost',PASSWORD('123'),'null','null','null');
#没有权限,表中没有权限
#正确方法创建root用户
mysql> insert into mysql.user values ('localhohost','root',PASSWORD('123'),
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> 'Y',
-> '',
-> '',
-> '',
-> '',0,0,0,0,'mysql_native_password','','N');
#重启mysqld
/etc/init.d/mysqld start

方法二:

#关闭数据库
[root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop #通用
#启动数据库
[root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking & mysql>flush privileges;#刷新授权表,update 修改密码时才能生效,危险
mysql> all on *.* to root@'127.0.0.1' identified by '1'
with grant option;#超级用户
#5.7版本,如果用户不存在不能使用grant

方法三:

#导库,在另一台服务器上导出系统库
mysqldump -uroot -p1 -B mysql >/tmp/mysql.sql

方法四:(不适合生产环境)

#初始化
cd /application/mysql/
rm-fr data/ #注意data目录不要删错

忘记root密码

#关闭数据库
[root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop
#启动数据库
[root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking & #1.update修改密码
update mysql.user set password=PASSWORD('123') where user='root' and host='localhost';
mysql> flush privileges;
#2.set
mysql> set password=PASSWORD('1');
#3.grant
mysql> grant all on *.* to root@'localhost' identified by '2';
#4.mysqladmin
[root@db01 ~]# mysqladmin -uroot -p2 password '123'
#5.alter
  • 2.用户管理及权限管理_

1)创建用户

mysql> create user oldboy@'10.0.0.%' identified by '123';

2)查看用户

mysql>  select user,host from mysql.user;

3)删除用户

mysql>  drop user oldboy@‘10.0.0.%’;#drop user sql语句

4)修改密码

select database();#pwd
desc mysql.user;查看表权限
#插入表内容 insert into user(user,host.password) values() #进入库里面修改密码,或者使用绝对路径 mysql> set password
mysql> update user set password=PASSWORD('oldboy123') where user='root' and host='localhost';#mysql.user
mysql> grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;

5)用户权限介绍

MySQL的权限定义:

作用对象:库、表

权限

INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN,  PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE

给开发开权限

grant INSERT,SELECT, UPDATE, DELETE on *.* to dev@'xxx';

权限最小化,最小级别不是表级别,是列级别

grant select on mysql.user.user to dev@'10.0.0.5%' identified by '123';
use vip;
use tables;

主机域:10.0.0.5% 可以连接:10.0.0.50-59 10.0.0.5

脱敏:脱离敏感信息

grant select(user,host) on wzry.user to no_vip@'%' identified by '123';

数据库集群:10.0.0.51 52 53 54

归属

每次设定只能有一个属主,没有属组或其他用户的概念

grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;
权限 作用对象 归属 密码

作用对象分解

. [当前MySQL实例中所有库下的所有表]

wordpress.* [当前MySQL实例中wordpress库中所有表(单库级别)]

wordpress.user [当前MySQL实例中wordpress库中的user表(单表级别)]

思考下面场景:

开发:你把root用户给我呗?

你:emmmmm........ SO?


实验思考问题:

#创建wordpress数据库
create database wordpress;
#使用wordpress库
use wordpress;
#创建t1、t2表
create table t1 (id int);
create table t2 (id int);
#创建blog库
create database blog;
#使用blog库
use blog;
#创建t1表
create table tb1 (id int);

授权:

1、grant select on *.* to wordpress@’10.0.0.5%’ identified by ‘123’;
2、grant insert,delete,update on wordpress.* to wordpress@’10.0.0.5%’ identified by ‘123’;
3、grant all on wordpress.t1 to wordpress@’10.0.0.5%’ identified by ‘123’;

问:

一个客户端程序使用wordpress用户登陆到10.0.0.51的MySQL后,

  • 1、对t1表的管理能力?
  • 2、对t2表的管理能力?
  • 3、对tb1表的管理能力?

解:

  • 1、同时满足1,2,3,最终权限是1+2+3
  • 2、同时满足了1和2两个授权,最终权限是1+2
  • 3、只满足1授权,所以只能select

但列级别是最小级别

create database wordpress;
use wordpress;
create table t1 (id int);
create table t2 (id int);
create database blog;
use blog;
create table tb1 (id int);
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| blog |
| wordpress |
+--------------------+
mysql> show tables from wordpress;
+---------------------+
| Tables_in_wordpress |
+---------------------+
| t1 |
| t2 |
+---------------------+
mysql> show tables from blog;
+----------------+
| Tables_in_blog |
+----------------+
| tb1 |
+----------------+
1、grant select on *.* to wordpress@’10.0.0.5%’ identified by ‘123’;
针对wordpress@'10.0.0.5%' 授权 所有库所有表 查询权限 密码是 123
2、grant insert,delete,update on wordpress.* to wordpress@’10.0.0.5%’ identified by ‘123’;
针对wordpress@'10.0.0.5%' 授权 插入、删除、修改 wordpress库中的所有表 密码是 123
3、grant all on wordpress.t1 to wordpress@’10.0.0.5%’ identified by ‘123’;
针对wordpress@'10.0.0.5%' 授权所有权限 wordpress库中的t1表 密码是123

一个客户端程序使用wordpress用户登录到10.0.0.51的mysql后

[root@db02 ~]# mysql -uwordpress -p123 -h10.0.0.51

1、对t1(wordpress)表的管理能力? t1:select ,insert,delete,update all
所有权限
2、对t2(wordpress)表的管理能力?t2:select,insert,delete,update
insert update delete select
3、对tb1表的管理能力?
只有select

结论:

1.如果在不同级别都包含某个表的管理能力时,权限是相加关系

2.但是我们不推荐在多级别定义重复权限

3.最常用的权限设定方式是单库级别授权,即:wordpres.*[单库级别]

在企业中,开发让你给他开一个MySQL的用户:

grant insert,delete,update on wordpress.* to wordpress@’ identified by ‘123’;

1.权限是什么?insert,delete,update

2.哪个库,哪几张表?哪些列? wordpress.*

3.你从哪里连接?‘10.0.0.5%’

4.用户名和密码是什么?

5.发邮件,走流程

三.MySQL连接管理

1.连接工具

  • 1)MySQL自带的连接工具

mysql

常见的特定于客户机的连接选项:

-u:指定用户

-p:指定密码

-h:指定主机

-P:指定端口

-S:指定sock

-e:指定SQL

--protocol=name:指定连接方式

  • 2)第三方的连接工具

sqlyog、navicat

应用程序连接MySQL

注意:需要加载对应语言程序的API

2.连接方式

    1. socket连接
mysql -uroot -poldboy123 -S/application/mysql/tmp/mysql.sock
mysql -uroot -poldboy123
    1. TCP/IP
mysql -uroot -poldboy123 -h10.0.0.51 -P3306
  • 问题:你怎么判断你的MySQL数据库可以对外提供服务?

四.MySQL启动关闭流程

启动

/etc/init.d/mysqld start
service mysqld start
systemctl start mysqld
mysqld_safe --defaults-file=/etc/my.cnf &

关闭

/etc/init.d/mysqld stop
mysqladmin -uroot -poldboy123 shutdown
service mysqld stop
systemctl stop mysqld
kill -9 pid ?
killall mysqld ?
pkill mysqld ?

出现问题:

- 1、如果在业务繁忙的情况下,数据库不会释放pid和sock文件

- 2、号称可以达到和Oracle一样的安全性,但是并不能100%达到

- 3、在业务繁忙的情况下,丢数据(补救措施,高可用)

五.MySQL实例初始化配置

1.初始化配置文件的作用

场景:我要启动实例

问题:

1)我不知道我的程序在哪?

2)我也不知道我将来启动后去哪找数据库?

3)将来我启动的时候启动信息和错误信息放在哪?

4)我启动的时候sock文件pid文件放在哪?

5)我启动,你们给了我多少内存?

...

N)我还有很多问题需要在我启动之前告诉我,emmmmm....

  • 1)预编译:cmake去指定,硬编码到程序当中去
  • 2)在命令行设定启动初始化配置
--skip-grant-tables
--skip-networking
--datadir=/application/mysql/data
--basedir=/application/mysql
--defaults-file=/etc/my.cnf
--pid-file=/application/mysql/data/db01.pid
--socket=/application/mysql/data/mysql.sock
--user=mysql
--port=3306
--log-error=/application/mysql/data/db01.err
  • 3)初始化配置文件(/etc/my.cnf)

配置文件读取顺序:

说明:

$MYSQL_HOME/my.cnf >>>>>>/application/mysql/my.cnf

defaults-extra-file>>>>>/tmp/my.cnf

#查询server_id
mysql -uroot -p1 -e "show variables like 'server_id'"

--defaults-file:默认配置文件

如果使用./bin/mysqld_safe 守护进程启动mysql数据库时,使用了 --defaults-file=<配置文件的绝对路径>参数,这时只会使用这个参数指定的配置文件。


思考:

#cmake:
socket=/application/mysql/tmp/mysql.sock
#命令行:
--socket=/tmp/mysql.sock
#配置文件:
/etc/my.cnf中[mysqld]标签下:socket=/opt/mysql.sock
#default参数:
--defaults-file=/tmp/a.txt配置文件中[mysqld]标签下:socket=/tmp/test.sock

socket文件会生成在哪???文件名叫什么???

/tmp/mysql.sock

优先级结论:

  • 1、命令行
  • 2、defaults-file
  • 3、配置文件(覆盖)
  • 4、预编译(cmake)

2.初始化配置文件的使用

初始化配置文件功能

1)影响服务端的启动(mysqld)

2)影响到客户端的连接

  • mysql
  • mysqldump
  • mysqladmin

如何配置初始化配置文件

1)配置标签分类

[client]所有客户端程序

mysql

mysqldump

...

[server]所有服务器程序

mysqld

mysqld_safe

...

六.MySQL多实例配置

  • 1.什么是多实例

1)多套后台进程+线程+内存结构

2)多个配置文件

a.多个端口

b.多个socket文件

c.多个日志文件

d.多个server_id

3)多套数据

  • 启动脚本

  • 2.多实例实战

1.准备多个配置文件

#创建多个存放配置文件的目录
[root@db02 ~]# mkdir /data/{3307,3308,3309} -p
[root@db02 ~]# tree /data/
/data/
├── 3307
├── 3308
└── 3309
#创建多个配置文件
[root@db02 ~]# vim /data/3307/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/data/mysql.sock
port=3307
log_error=/data/3307/data/3307.err
log-bin=/data/3307/mysql-bin
server_id=7
pid_file=/data/3307/data/3307.pid
[client]
socket=/data/3307/mysql.sock
------------------------------------------------------------[root@db02 ~]# vim /data/3308/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/data/mysql.sock
port=3308
log_error=/data/3308/data/3308.err
server_id=8
pid_file=/data/3308/data/3308.pid
------------------------------------------------------------[root@db02 ~]# vim /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/data/mysql.sock
port=3309
log_error=/data/3309/data/3309.err
server_id=9
pid_file=/data/3309/data/3309.pid
------------------------------------------------------------[root@db02 ~]# tree /data
/data
├── 3307
│ └── my.cnf
├── 3308
│ └── my.cnf└── 3309
└── my.cnf

2.初始化多个datadir

[root@db02 ~]# cd /application/mysql/scripts/
#初始化3307的数据目录
[root@db02 scripts]#./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/application/mysql --datadir=/data/3307/data
#3308
[root@db02 scripts]# ./mysql_install_db --defaults-file=/data/3308/my.cnf --user=mysql --
basedir=/application/mysql --datadir=/data/3308/data
#3309
[root@db02 scripts]# ./mysql_install_db --defaults-file=/data/3309/my.cnf --user=mysql --
basedir=/application/mysql --datadir=/data/3309/data
[root@db02 scripts]# tree -L 2 /data
/data
├── 3307
│ ├── data
│ └── my.cnf
├── 3308
│ ├── data
│ └── my.cnf
└── 3309
├── data
└── my.cnf

3.启动多实例

mysqld_safe --defaults-file=/data/3307/my.cnf &
mysqld_safe --defaults-file=/data/3308/my.cnf &
mysqld_safe --defaults-file=/data/3309/my.cnf &
#检查端口
[root@db02 scripts]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
name
tcp6 0 0 :::3306 :::* LISTEN
13052/mysqld
tcp6 0 0 :::3307 :::* LISTEN
13598/mysqld
tcp6 0 0 :::3308 :::* LISTEN
13428/mysqld
tcp6 0 0 :::3309 :::* LISTEN
13768/mysqld

4.设置密码

[root@db02 scripts]# mysqladmin -uroot -p -S/data/3307/data/mysql.sock password '3307'
[root@db02 scripts]# mysqladmin -uroot -p -S/data/3308/data/mysql.sock password '3308'
[root@db02 scripts]# mysqladmin -uroot -p -S/data/3309/data/mysql.sock password '3309'

5.连接mysqsl

[root@db02 scripts]# mysql -uroot -p3307 -S /data/3307/data/mysql.sock
[root@db02 scripts]# mysql -uroot -p3308 -S /data/3308/data/mysql.sock
[root@db02 scripts]# mysql -uroot -p3309 -S /data/3309/data/mysql.sock #小技巧
#system管理
[root@db01 ~]# vim /usr/lib/systemd/system/mysqld.service [Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf #给下路径
LimitNOFILE = 5000 #mysql连接
[root@db02 bin]# vim mysql3309
mysql -uroot -p3309 -S /data/3309/data/mysql.sock
[root@db02 bin]# chmod +x mysql3309

高可用:

主从复制

主库操作

修改配置文件

#编辑mysql配置文件
[root@mysql-db01 ~]# vim /etc/my.cnf
#在mysqld标签下配置
[mysqld]
#主库server-id为1,从库不等于1
server_id =1
#开启binlog日志
log_bin=mysql-bin

创建主从复制用户

#登录数据库
[root@mysql-db01 ~]# mysql -uroot -poldboy123
#创建rep用户
mysql> grant replication slave on *.* to rep@'10.0.0.%' identified by '123';

从库操作

修改配置文件

#修改mysql-db02配置文件
[root@mysql-db02 ~]# vim /etc/my.cnf
#在mysqld标签下配置
[mysqld]
#主库server-id为1,从库必须大于1
server_id =5
#开启binlog日志
log_bin=mysql-bin
#重启mysql
[root@mysql-db02 ~]# /etc/init.d/mysqld restart
#修改mysql-db03配置文件
[root@mysql-db03 ~]# vim /etc/my.cnf
#在mysqld标签下配置
[mysqld]
#主库server-id为1,从库必须大于1
server_id =10
#开启binlog日志
log_bin=mysql-bin
#重启mysql
[root@mysql-db03 ~]# /etc/init.d/mysqld restart

基于binlog日志的主从复制,则必须记住主库的master状态信息

mysql> show master status;
+------------------+----------+
| File | Position |
+------------------+----------+
| mysql-bin.000002 | 120 |
+------------------+----------+

从库

mysql>change master to
master_host='127.0.0.1',
master_user='rep',
master_password='123',
master_log_file='mysql-bin.000001',
master_log_pos=120,
master_port=3306; start slave;
show slave status\G

如果IO线程为NO

  • 1.检查网路

    ping 127.0.0.

  • 2.检查端口

    telnet 127.0.0.1 3307

  • 检查账号,密码

    mysql -urep -p123 -h127.0.0.1 -P 3307

MySQL5.6与MySQL5.7安装的区别的更多相关文章

  1. MySQL5.5多实例编译安装——多配置文件

    一.什么是MySQL多实例?MySQL多实例简单的说就是在一台服务器上安装一套MySQL程序,通过不同的端口对外提供访问,多实例不仅节省物理主机成本,还有效提升了单台物理主机的CPU.磁盘I/O使用效 ...

  2. centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解

    centos环境安装mysql5.7 其实不建议安装mysql5.7 语法和配置可能和以前的版本区别较大,多坑,慎入 1.yum方式安装(不推荐) a.安装mysql5.7 yum源 centos6: ...

  3. Win MYSQL5.7.19压缩版安装

    最近需要在wins上安装MYSQL,发现最新的版本和之前的有点差距,再次记录一下 1.下载:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5. ...

  4. mysql-5.5.28源码安装过程中错误总结

    介绍一下关于mysql-5.5.28源码安装过程中几大错误总结,希望此文章对各位同学有所帮助.系统centOS 6.3 mini (没有任何编译环境)预编译环境首先装了众所周知的 cmake(yum ...

  5. 2016032201 - mysql5.7.10绿色版安装

    参考地址:http://jingyan.baidu.com/article/ff42efa93580c4c19e2202b6.html 其实您完全可以参考上面的百度贴吧内容搞定的,我记录只是做个笔记, ...

  6. 转:mysql5.6.12 for Linux安装

    原文链接:http://mmicky.blog.163.com/blog/static/1502901542013635317349/ 1:上www.mysql.org下载64位版本mysql5.6. ...

  7. MySql-5.7.17-20解压缩版安装配置

    MySql-5.7.XXX解压缩版安装配置   1.mysql-5.7.20是解压版免安装的,版本下载地址:http://dev.mysql.com/downloads/mysql/ 如下图 2.解压 ...

  8. mysql-5.7.25 源码 安装

    mysql-5.7.25 源码 安装 编译 export INSTALL_PREFIX="/data/services" export MYSQL_INSTALL_PATH=&qu ...

  9. mysql5.6.40单实例安装二进制快捷安装

    mysql5.6.40单实例安装二进制快捷安装 近期因不同环境需要不同版本的mysql实例,故为了方便操作,特此记录下来,方便自己查找. # 1.1.Centos最小化安装推荐常用依赖包 yum cl ...

随机推荐

  1. 手撕 JVM 垃圾收集日志

    下图是本篇的写作大纲,将从以下四个方面介绍怎么样处理 JVM 日志. 有准备才能不慌 想要分析日志,首先你得有日志呀,对不对.凡是未雨绸蒙总是没错的.所谓有日志的意思,你要把 JVM 参数配置好,日志 ...

  2. CollectionView常用的布局方式总结

    结合网上的collectionView常用布局整合的collectionView使用工具 下载地址 支持五种布局方式ZFCollectionViewLayoutType有两种ZFCollectionV ...

  3. Objective-C面试题(精心整理的,附答案)

    转自:http://www.mianwww.com/html/2014/03/20372.html 1.objective-c 是所有对象间的交互是如何实现的? 在对象间交互中每个对象承担的角色不同, ...

  4. 【转载】Dockerfile文件详解

    什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...

  5. python 2.7编码问题

    问题引入 先看下面的代码,代码用utf8编码格式保存. print("中") 仅有一行代码,但是这个代码无论在ubuntu下还是win7下都会报错,错误信息类似是下面的内容: Sy ...

  6. Python3 面向对象进阶2

    目录 Classmethod Staticmethod Isinstance Issubclass 反射 概念 hasattr getattr setattr delattr 魔法方法 概念 __ne ...

  7. 基于RT-Thread的开源飞控StarryPilot

    背景描述 近年来无人机应用市场日趋火热,无人机开始被应用在多个领域之中,比如航拍,植保,运输,安防等.随着应用场景的增加,对于无人机的大脑一飞控,的性能和功能要求也变得越来越高.国内具有一大批优质的无 ...

  8. Python的re模块,正则表达式书写方法

    Python的re模块,正则表达式 #导入re模块 import  re 1.match方法的使用: result = re.match(正则表达式,待匹配的字符串) 正则表达式写法: 第一部分: 字 ...

  9. 大数据学习笔记——Java篇之基础知识

    Java / 计算机基础知识整理 在进行知识梳理同时也是个人的第一篇技术博客之前,首先祝贺一下,经历了一年左右的学习,从完完全全的计算机小白,现在终于可以做一些产出了!可以说也是颇为感慨,个人认为,学 ...

  10. 深入探索Java设计模式(四)之享元模式

    享元模式适用于需要大量相同类型对象的情况.在此,设计布局可以减少创建多个对象的方式.对象在运行时会消耗资源,因此最好在内存中使用较少的对象.它减少了内存占用并利用了程序的整体性能.本文是在学习完优锐课 ...