Centos7 解压安装MYSQL8
都说MySql8.x比5.7快两倍,可以参考一下。
但不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。数据备份方式还是可以的。
- 注意MySql8 的用户安全策略的改变
- 注意MySql8 编码格式
这里安装的是MySql 8
下载地址:https://dev.mysql.com/downloads/mysql/8.0.html
我这里下载的是mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
一、解压mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
首先解压,输入mysql按tab补齐,/home/mysql是自己想要安装的目录.
没有权限用su
输入root密码,用root执行。
tar -xvf报gz错误,就用tar -zxvf 解压命令
1 | mkdir /opt/db |
二、可以先把mariadb卸载了
mariadb其实与mysql是一样的,只不过mysql之父离开了Oracle,觉得依靠Oracle不靠谱,想做一个完全开源的数据库,这就是mariadb,mariadb的端口还是3306。
1 | rpm -qa|grep mariadb |
三、检查mysql组和用户是否存在,如无创建
1 | cat /etc/group | grep mysql |
四、在/etc下创建my.cnf
编码在5.5.3
以上都会支持utf8mb4(utf8 most byte 8)
,意思是支持4byte
的不常用汉字和Emoji
表情,毕竟65535
还真的是不够用。
对于 CHAR
类型数据,utf8mb4
会多消耗一些空间,根据 Mysql
官方建议,使用 VARCHAR
替代 CHAR
。
1 | vim /etc/my.cnf |
删除所有内容,添加下面内容
1 | [mysql] |
五、安装
1 | cd /opt/db/ |
安装失败,可以看一下mysql
账户对/opt/db/mysql
下的文件有没有读写权限
如果执行报错UTF8MB4
,就把/etc/my.cn
f的utf8
换成UTF8MB4
六、连接
查看密码
1 | cat /opt/db/mysql_log/mysqld.log |grep password |
启动(&是放在后台执行)
1 | bin/mysqld_safe --user=mysql & |
然后执行(但是如果使用无密码的方式登陆,就不可以使用下面令名)
1 | alter user 'root'@'localhost' identified by "123456"; |
无密码的方式,可用于找回密码。
配置文件 MySQL 免密码登录
编辑 MySQL 的配置文件
1 | vim /etc/my.cnf |
在 [mysqld]
下添加
1 | #在 [mysqld] 开头的下面一行加入下面这句 |
修改密码(记得删除my.cnf
文件的东西)
1 | # 这里需要先刷新权限,不然会报错。 |
或者
1 | bin/mysql |
七、后续操作
创建软连接
1 | ln -s /home/mysql/bin/* /usr/local/bin/ |
/usr/local/bin
目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。
添加系统环境变量
1 | vim /etc/profile |
加入配置
添加服务
将服务文件拷贝到init.d下,并重命名为mysqldcp support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限chmod +x /etc/init.d/mysqld
添加服务chkconfig --add mysqld
关闭firewall,安装iptables可选(比如服务器就需要开放3306)
本文地址: Centos7 解压安装MYSQL8
推荐
MySQL8.0创建用户及其配置
MySQL8.0新特性-新的索引方式
MySQL8.0新特性-通用表表达式(CTE)
MySQL8.0新特性-窗口函数
MySQL8.0新特性-InnoDB增强
MySQL8.0新特性-JSON增强
[官方介绍]([https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-functional-key-parts