1、下载安装文件
此处我选择的是 Archives 8.0.32版本
2、上传文件到linux服务器
此处省略
3、卸载旧版本mysql
// 查看现有mysql:
rpm -qa|grep -i mysql
// 查看mysql状态
systemctl status mysqld.service
// 若为启用状态,则停止
systemctl stop mysqld.service
// 卸载旧mysql(mysql-8.0.32-linux-glibc2.12-x86_64为查出来的mysql名称 )
rpm -ev --nodeps mysql-8.0.32-linux-glibc2.12-x86_64
// 再查看现有mysql,发现已经卸载完成:
rpm -qa|grep -i mysql
// 查找mysql对应目录
find / -name mysql
// 如果存在则需要用rm -rf 进行删除
// 删除完后再次执行find / -name mysql进行确认
手动卸载my.cnf文件
rm -rf /etc/my.cnf
检查是否卸载成功
rpm -qa | grep -i mysql 或者 systemctl start mysql
4、检查是否安装了 mariadb 数据库
检查系统是否安装了mariadb数据库, mariadb数据库是mysql的分支,是免费开源的。 mariadb和msyql会有冲突。首先要检查安装了mariadb, 如果有,需要卸载掉。
检查命令:
使用:yum list installed | grep mariadb 或 rpm -qa | grep mariadb
若linux中安装了mariadb数据库,先卸载掉, mariadb数据库可能与安装mysql发生冲突。
执行命令:yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
或者执行:rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
5、安装依赖包
cd /data/
xz -d mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
mv /data/mysql-8.0.32-linux-glibc2.12-x86_64 mysql-8.0.32
编辑my.cnf 配置文件
[mysqld]
port=3306
basedir=/data/mysql-8.0.32
datadir=/data/mysql-8.0.32/data
socket=/data/mysql-8.0.32/mysql.sock
pid-file=/data/mysql-8.0.32/mysql.pid
log-error=/data/mysql-8.0.32/error.log
tmpdir=/tmp
server_id=1
user=root
#skip-grant-tables
character-set-server=utf8mb4
explicit_defaults_for_timestamp=on
secure-file-priv=NULL
max_connections = 1000
group_concat_max_len = 102400
lower_case_table_names = 1
log_bin_trust_function_creators=1
transaction_isolation = READ-COMMITTED
open-files-limit = 65535
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8mb4
socket=/data/mysql-8.0.32/mysql.sock
[mysql]
default-character-set = utf8mb4
初始化数据库,安装加密算法(初始化时候,密码将在log-error=/data/mysql-8.0.32/error.log中产生)
cd /data/mysql-8.0.32
./mysqld --initialize --user=root
生成的密码如下图:
./mysql_ssl_rsa_setup
6、注册成mysql服务,并设置开机自启动
cd /data/mysql-8.0.32
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
7、设置mysql环境变量
方便mysql -uroot -p登陆,避免去bin目录下执行
vi /etc/profile
在末尾添加
export PATH=$PATH:/data/mysql-8.0.32/bin
设置环境变量立即生效:
source /etc/profile
8、启动服务
#启动
service mysqld start
#状态
service mysqld status
#停止
service mysqld stop
9、登陆数据库,修改密码
#登陆数据库
mysql -uroot -p
#使用error.log文件中的初始化密码
登陆进来后,设置密码
mysql> set password = 'mysqltest123';
10、其他情况
1、如果忘记密码了,可以通过无密码的安全模式启动
先停掉当前mysql服务
service mysqld stop
再去bin目录下,执行 mysqld_safe --skip-grant-tables &
然后mysql -uroot -p登陆,直接回车,不需要密码可登陆进去
2、初始化数据库,导入sql
#登陆数据库,创建库
mysql> CREATE DATABASE ry_cloud DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
导入数据
mysql -uroot -p ry_config <ry_config.sql