MySql8-arch下二进制安装
二进制安装可控,方便

参考:
https://linuxops.org/blog/mysql/mysql8.html
https://www.kancloud.cn/lengyueguang/linux/660448
官方文档:
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
下载二进制包
选择一个镜像站下载,查找起来比较方便,因为官网没有提供国内的源,所以挑了一个比较快的。
http://mysql.inspire.net.nz/Downloads
然后下载mysql-xxxx-linux-glibcxx-xx.xx就行了
比如http://mysql.inspire.net.nz/Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-i686.tar.xz
解压
解压
| 1 | tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz | 
移动到~/opt(可选)
| 1 | mv mysql-8.0.15-linux-glibc2.12-x86_64 ~/opt/mysql | 
配置用户和组(可选,这里用默认个人账号)
| 1 | groupadd mysql | 
主配置文件
log配置:https://segmentfault.com/a/1190000003072237
创建数据存放文件夹
| 1 | mkdir -p ~/opt/mysqlData/data | 
创建并编辑配置文件
| 1 | mkdir -p /home/cc/opt/mysql/etc | 
MySQL配置文件条目很多,这边我们设置了常用的必须的一些配置项,如上,我们设置了mysql的监听端口、socket、安装目录、数据库文件存放目录等等配置。
MySQL的配置也是分段配置的,每一个段都有一个名称,例如上面的配置[mysql] 配置了mysql工具的默认设置,[mysqld]则为MySQL服务器的配置
MySQL配置项众多,对于每一个配置项官方都提供了一个默认值,如果你不确定使用它,可以不在配置文件中体现,这样MySQL会读取默认配置。
当然,如果你无法确定MySQL提供了那些配置,或者不确定配置项的名称,你可以通过mysqld --verbose --help 命令查看,配合grep你会快速找到你想要的内容。
在MySQL8.0中,默认的密码认证插件更换为caching_sha2_password,一些老的客户端和程序并不支持这种认证插件,所以为了兼容性,我们可能需要将认证插件修改为mysql_native_password
在配置文件中指定default-authentication-plugin = mysql_native_password,以后创建的用户都将使用mysql_native_password来验证,但是之前的账户并不会更改验证插件。
安装依赖
| 1 | yay -S libtinfo5 | 
初始化数据库
装好了MySQL,也写好了配置文件,这个时候你并不能直接通过mysqld来启动MySQL。
因为还缺少系统必须的表,所以要通过命令先初始化MySQL,
| 1 | mysqld --initialize-insecure --basedir=/home/cc/opt/mysql --datadir=/home/cc/opt/mysqlData/data | 
初始化命令中--initialize-insecure告诉mysql不需要帮我生成root密码,这个时候mysql的root用户是没有密码的,你需要尽快修改它。
如果没有指定这个参数,MySQL会生成一个随机的密码,并且会告诉你密码存放在哪个文件中。
配置启动mysqld服务
| 1 | sudo vim /usr/lib/systemd/system/mysqld.service | 
接着
| 1 | sudo systemctl enable mysqld.service | 
修改密码
| 1 | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码' | 
