1.安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载
rpm -qa|grep mariadb
rpm -e xxxx --nodeps
2.前往mysql官网下载rpm包,centos选择red hat mysql下载地址
3.上传mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar到linux服务器,并解压tar包
rz 上传
如果显示
yum install -y lrzsz // yum 安装完毕之后可以直接rz尝试使用
tar xvf 解压4.其中最简单的安装mysql-server服务,只需要安装如下4个软件包即可,我们可以使用rpm -ivh命令进行安装
mysql-community-common-5.7.35-1.el7.x86_64.rpm
mysql-community-libs-5.7.35-1.el7.x86_64.rpm –(依赖于common)
mysql-community-client-5.7.35-1.el7.x86_64.rpm –(依赖于libs)
mysql-community-server-5.7.35-1.el7.x86_64.rpm –(依赖于client、common)
如果最后server出错一般是yum安装了旧版本的GPG keys造成的
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm --force --nodeps
5.接下来是初始化数据库,我们使用如下命令均可
mysqld --initialize
新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码
如果用的腾讯云会出现如下错误
解决方案:
(1).如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
(2).yum -y install numactl.x86_64
6.更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
7.根据第5步中的密码登录到mysql,更改root用户的密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的
cat /var/log/mysqld.log | grep ‘password’
mysql -u root -p 密码 8neBavlw&uXo
mysql> set password=password(‘123456’);
8.最后我们还可以根据实际情况创建用户,及作权限分配
mysql> create user 'root'@'%' identified by 'root';
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
开启外部访问权限 ‘123456’ 替换成你的数据库密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges; #刷新权限
mysql> exit #退出
防火墙放行3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload #重启firewall
firewall-cmd --list-ports #查看已经开放的端口
9.设置不区分大小写
vi /etc/my.cnf
在[mysqld]节点下增加
lower_case_table_names = 1
i 编辑
:wq退出
10.重启服务并尝试登陆
service mysqld restart
mysql -u root -p
==============================================
最后需要特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,
而是将加密后的用户密码存储于authentication_string字段