MySQL官网下载地址,注意选好对应的版本
https://downloads.mysql.com/archives/community/
下载命令
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
解压缩
xz -d mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar
移动目录
mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql
创建用户和组
groupadd mysql
useradd -r -g mysql mysql
修改目录权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
编辑配置文件
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
这里要注意的是lower_case_table_names和character_set_server,lower_case_table_names=1代表不区分大小写,这个需要在初始化参数时指定,默认是0,character_set_server在MySQL8中默认为utf8mb4。
初始化
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --lower-case-table-names=1 --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
记住初始化的密码。
依赖包缺失问题
如果出现一些安装包依赖缺失的问题,可通过命令进行检查,例如缺失libxcrypt.so.1,可通过如下命令搜索
CentOS
dnf search libxcrypt
Ubuntu
查询相应的包
sudo apt-get install libaio-dev
可以对应安装相应的依赖
yum -y install libxcrypt-devel.x86_64
mysql启动
/usr/local/mysql/support-files/mysql.server start
如果启动中发现缺失依赖可按照上述提到的依赖包确认问题就行逐个安装。
添加软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
登录mysql修改密码
首次登陆后想要use mysql提示必须修改密码。
mysql -u root -p
#提示信息
Enter password:
#mysql命令模式
mysql>alter user user() identified by 'YourPassword@123!';
这里注意mysql8的修改方式与之前的版本存在差异,并且密码必须包含大小写字母特殊符号组合,否则无法通过密码策略校验。
后续修改密码使用alter方式
alter user 'root'@'%' IDENTIFIED BY 'YourPassword@123!';
打开远程连接权限
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
至此安装完毕,可使用客户端尝试连接。