mysql 5.7手动安装部署

mysql5.7手动、自动安装部署

#上传安装包和配置文件
mkdir /application
cd /application
rz -y mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz  my.cnf
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz  
##安装依赖 
yum -y install numactl.x86_64
##将安装前工作
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/bin/
##创建启动账号
groupadd mysql 
useradd -g mysql  -s  /sbin/nologin -d /usr/local/mysql/  -M mysql
##创建数据目录
mkdir  /data/mysql/
chown mysql:mysql /data/mysql/
chown mysql:mysql /usr/local/mysql/
##数据库初始化
./mysqld --defaults-file=/etc/my.cnf --initialize --user=user --basedir=/usr/local/mysql/  --datadir=/data/mysql/
##将mysql配置文件上传
##可使用在线mysql配置文件生成工具
## 
cp -r /application/my.cnf /etc/
##添加环境变量
cp -r /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 
echo PATH=$PATH:/usr/local/mysql/bin >>/etc/profile 
source /etc/profile
##启动
/etc/init.d/mysqld start
##登录测试 
mysql -uroot -p 

#改密码
### 添加跳过密码登陆
vim /etc/my.cnf
##添加参数
skip-grant-tables
##重启
/etc/init.d/mysqld restart 
##更改密码
mysql -uroot -p 
UPDATE mysql.user SET authentication_string=PASSWORD('test@123') where USER='root';
ALTER USER USER() IDENTIFIED BY 'test@123';
##授权访问(*.* databasename.tablename)(root@'192.0.0.1' 授权哪个账号通过那个ip或ip段访问)
grant all privileges on *.* to 'root'@'147.1.5.%' identified by 'test@123';
##刷新
FLUSH PRIVILEGES;
##注销跳过密码登陆
vim /etc/my.cnf
#skip-grant-tables
#重启
/etc/init.d/mysqld restart

my.cnf

## my.cnf for MySQL 5.7/8.0
[client]
port    = 3306
socket  = /data/mysql/mysql.sock

[mysql]
prompt="\u@mysqldb \R:\m:\s [\d]> "
auto-rehash

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#skip-grant-tables
user    = mysql
port    = 3306
basedir = /usr/local/mysql
datadir = /data/mysql
socket  = /data/mysql/mysql.sock
lower_case_table_names=1
pid-file = mysqldb.pid
character-set-server = utf8mb4
skip_name_resolve = 1
default_time_zone = "+8:00"
open_files_limit    = 65535
back_log = 1024
max_connections = 512
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
table_open_cache_instances = 64
thread_stack = 512K
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 4M
join_buffer_size = 4M
thread_cache_size = 768
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 32M
max_heap_table_size = 32M
slow_query_log = 1
log_timestamps = SYSTEM
slow_query_log_file = /data/mysql/slow.log
log-error = /data/mysql/error.log
long_query_time = 2
log_queries_not_using_indexes =1
log_throttle_queries_not_using_indexes = 60
min_examined_row_limit = 100
log_slow_admin_statements = 1
log_slow_slave_statements = 1
server-id = 3309
log-bin = /data/mysql/mybinlog
sync_binlog = 1
binlog_cache_size = 4M
max_binlog_cache_size = 2G
max_binlog_size = 1G
expire_logs_days = 7
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'
binlog_format = row
binlog_checksum = 1
relay_log_recovery = 1
relay-log-purge = 1
key_buffer_size = 32M
read_buffer_size = 8M
read_rnd_buffer_size = 4M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
lock_wait_timeout = 3600
explicit_defaults_for_timestamp = 1
innodb_thread_concurrency = 0
innodb_sync_spin_loops = 100
innodb_spin_wait_delay = 30

transaction_isolation = REPEATABLE-READ
#innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 9216M
innodb_buffer_pool_instances = 4
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 32M
innodb_log_file_size = 2G
innodb_log_files_in_group = 2
innodb_max_undo_log_size = 4G
innodb_undo_directory = /data/mysql/undolog
innodb_undo_tablespaces = 95

# 根据您的服务器IOPS能力适当调整
# 一般配普通SSD盘的话,可以调整到 10000 - 20000
# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_sync = 0
innodb_flush_neighbors = 0
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_open_files = 65535
innodb_max_dirty_pages_pct = 50
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 4000
innodb_checksum_algorithm = crc32
innodb_lock_wait_timeout = 10
innodb_rollback_on_timeout = 1
innodb_print_all_deadlocks = 1
innodb_file_per_table = 1
innodb_online_alter_log_max_size = 4G
innodb_stats_on_metadata = 0

#注意:MySQL 8.0.16开始删除该选项
internal_tmp_disk_storage_engine = InnoDB

# some var for MySQL 5.7
innodb_checksums = 1
#innodb_file_format = Barracuda
#innodb_file_format_max = Barracuda
query_cache_size = 0
query_cache_type = 0
innodb_undo_logs = 128

innodb_status_file = 1
#注意: 开启 innodb_status_output & innodb_status_output_locks 后, 可能会导致log-error文件增长较快
innodb_status_output = 0
innodb_status_output_locks = 0

#performance_schema
performance_schema = 1
performance_schema_instrument = '%memory%=on'
performance_schema_instrument = '%lock%=on'

#innodb monitor
innodb_monitor_enable="module_innodb"
innodb_monitor_enable="module_server"
innodb_monitor_enable="module_dml"
innodb_monitor_enable="module_ddl"
innodb_monitor_enable="module_trx"
innodb_monitor_enable="module_os"
innodb_monitor_enable="module_purge"
innodb_monitor_enable="module_log"
innodb_monitor_enable="module_lock"
innodb_monitor_enable="module_buffer"
innodb_monitor_enable="module_index"
innodb_monitor_enable="module_ibuf_system"
innodb_monitor_enable="module_buffer_page"
innodb_monitor_enable="module_adaptive_hash"

[mysqldump]
quick
max_allowed_packet = 100M

自动化安装脚本

#!/bin/bash
#create by myq
#at 2017-12-12
#any question to call the phone number : 110

clear
echo "###################################################"
echo "Program this scripts is for relase your hands."
echo "Please read this illustrate carefully."
echo "It's auto install or uninstall mysql server."
echo "There is four file in the scripts directory."
echo "my.cnf is mysql configure file,do not remove."
echo "mysqld.service is used for add mysql to systemd on RedHat 7 or Centos 7."
echo "*.tar.gz is mysql binary package."
echo "The mysql server version must be 5.7 or later."
echo "The package is Linux - Generic tar file."
echo "Please carefull enter parameter when hint is appear."
echo "Any question to call the phone number : 110."
echo "May you be happy and prosperous."
echo "###################################################"
echo

#defind variables
#get hostname
hn=$(hostname)
#set mysql's birnary file directory
azdir=/usr/local
#set mysql's directory for datafile,logfile and so on
yxdir=/data
csdir=$(echo ${yxdir:1})
#set the binary install file directory
sourcedir=$(pwd)
#get binary install file name
filename=$(ls $sourcedir/mysql*.tar.gz | awk -F '/' '{print $3}')
#get memory info
mem=$(free -m|grep -i mem|awk '{print $2}')
smem=$(echo "$mem*0.8"|bc)
fmem=$(echo ${smem%.*}M)
#get os release
osrel=$(grep -o '[[:digit:]]' /etc/redhat-release|sed '2,$d')
#get install or uninstall message
echo "Are you want to install or unistall? 'i' for install; 'u' for uninstall:"
read isins
if [ $isins == 'i' ]; then
    #clear installed mysql
    echo "clear installed mysql"
    rpm -e mysql --nodeps > /dev/null 2>&1
    rpm -e mysql-devel --nodeps > /dev/null 2>&1
    rpm -e mysql-server --nodeps > /dev/null 2>&1
    echo "done..........................."
    echo ""

    #create user running mysql
    echo "create user running mysql"
      userdel -r mysql > /dev/null 2>&1
      useradd -s /sbin/nologin mysql
    echo "done..........................."
    echo ""

    #copy mysql source install package
    echo "copy mysql source install package"
      rm -rf $azdir/mysql
      cp $sourcedir/$filename $azdir/
    if [ $? == 0 ]; then
      echo "done..........................."
    else
      echo "copy failed!!!"
      exit 1
    fi
      echo ""

    #untar install package
    echo "untar install package"
    cd $azdir
    tar -zxf $azdir/$filename
    rm -f $azdir/$filename
    echo "done..........................."
    echo ""

    #change mode on install dir
    echo "change mode $azdir/mysql"
    mv $azdir/mysql-* $azdir/mysql
    if [ $? == 0 ]; then
      chown -R mysql.mysql $azdir/mysql
      ln -fs $azdir/mysql/bin/* /usr/bin/
      echo "done..........................."
    else
      echo "operation failed!!!"
      exit 1
    fi
    echo ""

    #create data relate directory
    echo "create data relate directory"
    mkdir -p $yxdir/mysql/data
    mkdir -p $yxdir/mysql/logs
    mkdir -p $yxdir/mysql/script
    mkdir -p $yxdir/mysql/backup
    if [ $? == 0 ]; then
      chown -R mysql.mysql $yxdir/mysql
      echo "done..........................."
    else
      echo "create dir failed !!!"
      exit 1
    fi
      echo ""

    if [ $osrel == '7' ]; then
        #add to services
        echo "add to services"
        cp -f $sourcedir/mysqld.service /etc/systemd/system
        if [ $? == 0 ]; then
          systemctl enable mysqld.service > /dev/null 2>&1
            if [ $? == 0 ]; then
              chkconfig mysqld off
            else
              echo "add mysqld service failed!!!"
              exit 1
            fi
          echo "done..........................."
        else
          echo "create dir failed !!!"
          exit 1
        fi
        echo ""
    else
        #add to services
        echo "add to services"
        cp -f $azdir/mysql/support-files/mysql.server /etc/init.d/mysqld
        if [ $? == 0 ]; then
          chkconfig --add mysqld
            if [ $? == 0 ]; then
              chkconfig mysqld off
            else
              echo "add mysqld service failed!!!"
              exit 1
            fi
          echo "done..........................."
        else
          echo "create dir failed !!!"
          exit 1
        fi
        echo ""
    fi

    #add error log file
    echo "add error log file"
    touch $yxdir/mysql/logs/$hn.err
    chown mysql:mysql $yxdir/mysql/logs/$hn.err
    echo "done..........................."
    echo ""

    #initialize mysql
    echo "initialize mysql"
    $azdir/mysql/bin/mysqld --initialize --basedir=$azdir/mysql --datadir=$yxdir/mysql/data --user=mysql > /tmp/myqpwd.tt 2>&1
    echo "done..........................."
    echo ""

    #copy configure file to /etc
    echo "copy configure file to /etc"
    rm -f /etc/my.cnf
    cp $sourcedir/my.cnf /etc/
    echo "done..........................."
    echo ""

    #modify my.cnf
    echo "modify configure file"
    #sed -i -e "s/db1/$hn/g" /etc/my.cnf
    sid="1"$(date +"%H%M%S")
    sed -i -e "s/server_id=1/server_id=$sid/g" /etc/my.cnf
    sed -i -e "s/innodb_buffer_pool_size=256M/innodb_buffer_pool_size=$fmem/g" /etc/my.cnf
        sed -i -e "s/datadir=\/var\/mysql\/data/datadir=\/$csdir\/mysql\/data/g" /etc/my.cnf
        sed -i -e "s/pid-file=\/var\/mysql\/logs\/db1.pid/pid-file=\/$csdir\/mysql\/logs\/$hn.pid/g" /etc/my.cnf
        sed -i -e "s/general_log_file=\/var\/mysql\/logs\/db1.general/general_log_file=\/$csdir\/mysql\/logs\/$hn.general/g" /etc/my.cnf
        sed -i -e "s/log-bin=\/var\/mysql\/logs\/db1-bin/log-bin=\/$csdir\/mysql\/logs\/$hn-bin/g" /etc/my.cnf
        sed -i -e "s/log_bin_index=\/var\/mysql\/logs\/db1.index/log_bin_index=\/$csdir\/mysql\/logs\/$hn.index/g" /etc/my.cnf
        sed -i -e "s/slow_query_log_file=\/var\/mysql\/logs\/db1.slow/slow_query_log_file=\/$csdir\/mysql\/logs\/$hn.slow/g" /etc/my.cnf
        sed -i -e "s/log_error=\/var\/mysql\/logs\/db1.err/log_error=\/$csdir\/mysql\/logs\/$hn.err/g" /etc/my.cnf
    sed -i -e "s/relay_log=\/var\/mysql\/logs\/db1-relay/relay_log=\/$csdir\/mysql\/logs\/$hn-relay/g" /etc/my.cnf
    echo "done..........................."
    echo ""

    #change root password
    echo "change root password"
    if [ $osrel == '7' ]; then
        systemctl start mysqld.service
    else
        service mysqld start
    fi
    if [ $? == 0 ]; then
      pwd=$(cat /tmp/myqpwd.tt | grep password | awk '{print $11}')
      /usr/bin/mysqladmin -u root -p$pwd password 123 > /dev/null 2>&1
      echo "done..........................."
    else
      echo "mysql start failed!!!"
      exit 1
    fi
    echo ""

    #install  plugin and set parameters
    echo "install semi plugin"
    /usr/bin/mysql -e "install plugin rpl_semi_sync_master soname 'semisync_master.so';"
    /usr/bin/mysql -e "install plugin rpl_semi_sync_slave soname 'semisync_slave.so';"
    /usr/bin/mysql -e "reset master;"
    sed -i -e "s/#rpl_semi_sync_master_enabled=on/rpl_semi_sync_master_enabled=on/g" /etc/my.cnf
    sed -i -e "s/#rpl_semi_sync_master_timeout=1000/rpl_semi_sync_master_timeout=1000/g" /etc/my.cnf
    sed -i -e "s/#rpl_semi_sync_slave_enabled=on/rpl_semi_sync_slave_enabled=on/g" /etc/my.cnf
    echo "done.........................."
    echo ""

    #restart mysql server
        rm -f /tmp/myqpwd.tt
        /usr/bin/mysql -e "reset master;"
    if [ $osrel == '7' ]; then
        systemctl stop mysqld.service
        rm -f $yxdir/mysql/logs/*bin* $yxdir/mysql/logs/*.general $yxdir/mysql/logs/*.slow $yxdir/mysql/logs/*.index $yxdir/my        sql/logs/*relay*
        systemctl start mysqld.service
    else
                 service mysqld stop
                 rm -f $yxdir/mysql/logs/*bin* $yxdir/mysql/logs/*.general $yxdir/mysql/logs/*.slow $yxdir/mysql/logs/*.index $yxdir/mysql/logs/*relay*
                 service mysqld start
    fi
        echo "Congratulations,mysql install successful!!!"
        echo "Install directory is /usr/local/mysql"
        echo "Data directory is /var/mysql"
        echo "Initial root password is : 123"
                echo "On linux 6,use 'service mysqld start|stop' to manage mysql service"
                echo "On linux 7,use 'systemctl start|stop mysqld.service' to manage mysql service"
        

elif [ $isins == 'u' ]; then
    #clear installed mysql
    echo "clear installed mysql"
    rpm -e mysql --nodeps > /dev/null 2>&1
    rpm -e mysql-devel --nodeps > /dev/null 2>&1
    rpm -e mysql-server --nodeps > /dev/null 2>&1
    echo "done..........................."
    echo ""

    #stop mysql service
    if [ $osrel == '7' ]; then
        systemctl stop mysqld.service > /dev/null 2>&1
        #clear mysql service
        echo "clear mysql service ................"
        systemctl disable mysqld.service
        rm -f /etc/systemd/system/mysqld.service 
    else
        service mysqld stop > /dev/null 2>&1
        chkconfig --del mysqld > /dev/null 2>&1
        rm -f /etc/init.d/mysqld 
    fi
    echo "done.............................."
    echo ""

    #remove data dir
    echo "remove data dir ................"
    rm -rf $yxdir/mysql
    echo "done.............................."
    echo ""

    #remove install dir
    echo "remove install dir ................"
    rm -rf $azdir/mysql
    echo "done.............................."
    echo ""

    #remove confiugre file
    echo "remove confiugre file ................"
    rm -rf /etc/my.cnf*
    rm -f /usr/bin/mysql*
    echo "done.............................."
    echo ""

    #remove mysql user
    echo "remove mysql user ................"
    userdel -r mysql > /dev/null 2>&1
    echo "done.............................."
    echo ""
    echo "mysql uninstall done............."

else
    clear
        echo "Are you want to fly to the sky ..."
    echo "Are you want to fly to the sky ..."
    echo "Are you want to fly to the sky ..."
    echo "Are you want to fly to the sky ..."
    echo "Are you want to fly to the sky ..."
fi

配置文件

[client]
#default login user
user=root
#default password
password=123

[mysqld]
#########genarel config##########
#the user runnging mysqld process
user=mysql
#base directory
basedir=/usr/local/mysql
#data directory
datadir=/var/mysql/data
#db server character set
character_set_server=utf8
#default engine
default_storage_engine=innodb
#server id
server_id=1
#service port
port=3306
#max connections
max_connections=1000
#skip resolve name
#skip_name_resolve=on
#pid file's directory
pid-file=/var/mysql/logs/db1.pid
#ignore table name case
lower_case_table_names=1
log_bin_trust_function_creators=1


######log part####
#swith on genarel log
#general_log=on
#name and directory of genarel log
general_log_file=/var/mysql/logs/db1.general
#swith on binnary log and set the file
log-bin=/var/mysql/logs/db1-bin
#index of bannary log
log_bin_index=/var/mysql/logs/db1.index
#swith bannary log
slow_query_log=on
#name and directory of slow query log
slow_query_log_file=/var/mysql/logs/db1.slow
#the unit of slow log ,second
long_query_time=1
#record query not use index into slow log
log_queries_not_using_indexes=1
#error log setting
log_error=/var/mysql/logs/db1.err
#auto clear binnary log , day
expire_logs_days=14
log_timestamps=SYSTEM

######innodb setting ######
#innodb memory size,byte
innodb_buffer_pool_size=256M
#innodb instance number
innodb_buffer_pool_instances=2
#dump cache from memory to disk when server shutdown
innodb_buffer_pool_dump_at_shutdown=on
#record page cache immediate
innodb_buffer_pool_dump_now=on
#import cache from disk to memory when server startup
innodb_buffer_pool_load_at_startup=on
#immediate cache buffer_pool
innodb_buffer_pool_load_now=on
#log buffer 8M to 32M
innodb_log_buffer_size=8M
#the size of binnary log
innodb_log_file_size=256M
#the action of write log to disk:0--flush per second;1--flush on tranction commit(default); 2--0 and 1
innodb_flush_log_at_trx_commit=1
#enable innodb monitor
innodb_monitor_enable=all

######MyIsam setting######
key_buffer_size=256M
read_buffer_size=256K
read_rnd_buffer_size=256K
sort_buffer_size=256K
join_buffer_size=256K


####replication setting#########
log-bin-trust-function-creators=1
#enable gtid mode
gtid_mode=ON
#enforce gtid consistency
enforce_gtid_consistency=ON
#master info storage in table
master_info_repository=TABLE
#relay log info storage in table
relay_log_info_repository=TABLE
#relay log file name
relay_log=/var/mysql/logs/db1-relay
#write binlog when slave apply relay-log
log_slave_updates=ON
#binlog format
binlog_format=ROW
#semi_sync
#rpl_semi_sync_master_enabled=on
#rpl_semi_sync_master_timeout=1000
#rpl_semi_sync_slave_enabled=on
#multi thread
slave_parallel_type=logical_clock
slave_parallel_workers=4

#####group replication####
#slave_preserve_commit_order=1
#binlog_checksum=NONE
#collection trasaction information
#transaction_write_set_extraction=XXHASH64
#name of relication group
#loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
#do nothing when server start
#loose-group_replication_start_on_boot=off
#local host address and port
#loose-group_replication_local_address="10.2.5.15:33061"
#address and port of server in the replication group
#loose-group_replication_group_seeds="10.2.5.15:33061,10.2.5.16:33061,10.2.5.17:33061,10.2.5.18:33061"
#the init server set on,any time only one swtich on
#loose-group_replication_bootstrap_group=off

启动文件


[Unit]
Description=Mysql server 5.7.20
Documentation=http://doc.mysql.com

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/usr/local/mysql/support-files/mysql.server reload

[Install]
WantedBy=multi-user.target

自动换安装流程

上传依赖包
rpm -ivh libaio* 
上述三个文件放到同一个目录
执行脚本

安装完成后根据配置信息更改(datadir,buffer_pool) #脚本默认datadir为/data

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容