MySQL8安装(linux系统)
mysql官网下载mysql编译好的二进制安装包。
直接解压,解压命令:
cp mysql-x.x.x-linux-glibc…… /usr/local/mysql
添加系统mysql组和mysql用户,执行命令:
groupadd mysql 添加用户组
useradd -g mysql mysql -s /usr/sbin/nologin 添加组用户
安装数据库:
进入安装mysql软件目录:cd /usr/local/mysql
mysql数据目录,存储数据的:mkdir /usr/local/mysql/data
修改当前目录拥有者为mysql用户:chown -R mysql:mysql /usr/local/mysql
将权限改为mysql:chown -R mysql:mysql /mysql
初始化数据库:./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如果出现如图所示错误,则说明这是缺少numactl,这个时候如果是Centos就yum -y install numactl就可以解决,然后重新运行上面的initialize命令。
如果安装成功,就会出现一个随机密码,这个随机密码就是后面登陆MySQL的出事密码。
复制配置文件(如果没有my-default.cnf就手动创建一个文件,并且配置权限)
修改/etc/my.cnf配置文件
[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3306socket=/usr/local/mysql/tmp/mysql.sock# 必填项sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES //这个是严格模式
在非严格模式下,int列默认为0,string列默认为''了,严格模式下就没有默认值了,如果数据库没有设置,代码也没有设置,就会直接报错。
加入启动MySQL服务
执行命令cp support-files/mysql.server /etc/init.d/mysql就可以用server mysql start/stop/restart
修改MySQL密码前面的已经写过,可以自己去看。
MySQL8.0新的密码认证方式
caching_sha2_password和sha256_password认证插件比mysql_native_password插件提供的密码加密更加安全,并且caching_sha2_password加密比sha256_password的加密性能更好。由于caching_sha2_password这样优秀的安全和性能特性,让他作为MySQL8.0的首选认证插件,这也是默认的认证插件而不是mysql_native_password。
将加密方式改为旧的,在配置文件my.conf中添加如下:
default_authentication_plugin=mysql_native_password
MySQL8新密码方式很多第三方软件不支持,所以想要用旧密码方式,就直接加上。
使用了新的加密方式,改为旧的加密方式,而root用户也要进行相应的更改才可以,因为root用户还是新的加方式,所以使用alter语句改为重置密码来覆盖新的加密方式的密码:
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';