MySQL8.0.26-Linux版安装
准备一台Linux服务器
云服务器或者虚拟机都可以;
Linux的版本为 CentOS7;
2. 下载Linux版MySQL安装包
3. 上传MySQL安装包
3.新增准备:安装前准备,卸载自带的 mariadb,安装依赖环境
列出已安装的 mariadb
[root@mysql ~]# rpm -qa | grep mariadb mariadb-libs-5.5.60-1.el7_5.x86_64
方法一:rpm -e --nodeps 卸载 mariadb`
[root@mysql ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64`
方法二:yum -y remove 卸载 mariadb`
[root@mysql ~]# yum -y remove mariadb-libs-5.5.60-1.el7_5.x86_64`
如果有多余的残留目录删除它,没有则跳过
[root@mysql ~]# find / -name mysql -print 如下:
[root@mysql ~]# rm -rf /var/lib/mysql
[root@mysql ~]# rm -rf /var/lib/mysql/mysql
[root@mysql ~]# rm -rf /usr/bin/mysql
[root@mysql ~]# rm -rf /usr/lib64/mysql
安装基础软件。
[root@mysql ~]# yum -y install wget (如果你不用ftp或者lrzsz上传)
[root@mysql ~]# yum -y install lrzsz (简单好用的上传下载软件)
[root@mysql ~]# yum -y install vim 安装依赖软件。
[root@mysql ~]# yum -y install net-tools
[root@mysql ~]# yum -y install openssl openssl-devel
[root@mysql ~]# yum -y install libaio libaio-devel
[root@mysql ~]# yum -y install perl perl-devel
[root@mysql ~]# yum -y install perl-JSON.noarch
[root@mysql ~]# yum -y install autoconf
三、查看、关闭 firewall 防火墙
[root@mysql home]# firewall-cmd --state
[root@mysql home]# systemctl stop firewalld.service
[root@mysql home]# systemctl disable firewalld.service
4. 创建目录,并解压
mkdir mysql tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
5. 安装mysql的安装包
cd mysql
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
注意:安装mysql警告: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
解决方案:后面加上 --force --nodeps
如:rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm --force --nodeps
my.cnf文件设置函数创建不报错
进入etc下面 cd /etc/ 编辑my.cnf文件 vi my.cnf [mysqld]下面加一句 log-bin-trust-function-creators=1
my.cnf文件设置不区分大小写
进入etc下面 cd /etc/ 编辑my.cnf文件 vi my.cnf [mysqld]下面加一句 lower_case_table_names=1
6. 启动MySQL服务
systemctl start mysqld--启动
systemctl restart mysqld--重启
systemctl stop mysqld--停止
7. 查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
如果查不到log,就初始化mysql:
命令:mysqld --initialize-insecure
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录 .
8. 修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Linbei210';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。
set global validate_password.policy = 0; set global validate_password.length = 4;#这个不执行
降低密码的校验规则之后,再次执行上述修改密码的指令。
9. 创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Linbei210';
10. 并给root用户分配权限
grant all on *.* to 'root'@'%';
11. 重新连接MySQL
mysql -u root -p
然后输入密码
12. 通过DataGrip远程连接MySQL