升级linux内核

linux内核官网: www.kernel.org  获取最新内核
目前最新稳定版: wget -c https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.5.2.tar.xz
安装编译环境: yum install -y gcc gcc-c++ ncurses-devel openssl-devel

tar.xz 文件解压
xz -z 压缩
xz -d 解压

这里需要在系统原有的内核配置文件的基础上建立新的编译选项,所以复制一份之前的配置文件到内核源码目录下,命名为.config。
[root@localhost ~]# cp /boot/config-3.10.0-327.el7.x86_64 linux-4.5.2/.config

选择NTFS写入支持:
[root@localhost linux-4.5.2]# make menuconfig 这一步会读取之前复制过来的.config文件内容并做为初始值,在此基础加新的模块。
截图略:
File systems —>DOS/FAT/NT Filesystems —> 按空格选中 [*] NTFS write support 通过TAB切换选择save,根据提示一路保存

生成内核文件:
[root@localhost linux-4.5.2]# make bzImage
[root@localhost linux-4.5.2]# make modules
[root@localhost linux-4.5.2]# make modules_install
[root@localhost linux-4.5.2]# make install

更改默认启动项为最新内核:
[root@localhost ~]# vim /boot/grub2/grub.cfg
查看当前 menuentry 菜单入口
最新的为 ‘CentOS Linux (4.5.2) 7 (Core)’ 通过4.5.2是内核版本确认是刚安装的新内核

[root@localhost ~]# vim /boot/grub2/grubenv 更改为最新 menuentry
屏蔽原先内容,添加:
saved_entry=CentOS Linux (4.5.2) 7 (Core)

reboot机器
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.5.2 #1 SMP Wed Apr 27 22:20:39 CST 2016 x86_64 x86_64 x86_64 GNU/Linux
看到内核为最新的了。

PS:
通过runlevel命令查看当前运行级别。 grub列表按E编辑,还是single为单用户模式,按ctrl+x启动,以前6版本为按B启动。

mysql REPLACE和REPLACE INTO用法

#替换字符串  用法:REPLACE(字符串,关键词,替换内容)

SELECT REPLACE('aaaaabc','abc','ppp');

# 返回值 aaaappp

# REPLACE INTO 向表插入/更新数据,如果唯一键存在则更新全部字段否则插入,注意如果更新的字段为空,则清空字段。如果未定义列,则此列为(NULL)

插入操作:

REPLACE INTO `test1` (`id`,`name`) VALUES ('1','a'),('2','b');

 

 

插入两条数据,id是唯一键,不存在,则插入数据。

更新操作:

REPLACE INTO `test1` (`id`,`name`,`age`) VALUES ('1','a','11'),('2','b','22');

唯一键存在,则更新数据,更新id=1的name=a,age=11。更新id=2的name=b,age=22 (全部更新)

更新name字段 a=>22:

REPLACE INTO `test1` (`id`,`name`,`age`) VALUES ('1','22','11'),('2','b','22');

更新name字段 22=>aa,并且不定义age列:

REPLACE INTO `test1` (`id`,`name`) VALUES ('1','aa'),('2','b');

这里没写age列,执行以后age字段的数据都被设置为(NULL)。