Linux安装MySQL8.0
自已安装完的备忘笔记,方便以后重新部署
1. 下载MySQL
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

选择64位下载,上传到服务器
或者直接在Linux上用wget下载
[[email protected] ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
2. 解压
CD到上传或者下载路径下解压压缩包并且移动到/usr/local/mysql下
[[email protected] ~]# tar -zxvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
[[email protected] ~]# mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
注意解压的位置和文件版本的名字,有可能版本更新名字变化,自己改一下
3. 安装配置和创建mysql用户组和用户并修改权限
MySQL依赖libaio库
[[email protected] ~]# yum install libaio
创建mysql用户组和用户并修改权限
不需要登录的一个系统账号,启动MySQL服务时会使用该账号
[[email protected] ~]# groupadd mysql //创建mysql用户
[[email protected] ~]# useradd -r -g mysql mysql //给mysql用户读写权限
[[email protected] ~]# cd /usr/local/mysql
[[email protected] mysql]# chown -R mysql:mysql ./ //给mysql用户此文件夹下的权限
配置my.cnf
[mysqld]
port=3306
其他不用填用默认可以了
保存到路径
/etc/my.cnf
4. mysql初始化操作
[[email protected] ~]# cd /usr/local/mysql/bin/
[[email protected] bin]# ./mysqld --initialize-insecure --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/--user=mysql
# 初始化报错,请执行以下命令,查看是否安装齐全
yum search libaio
yum install libaio
yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5
mysqld –initialize-insecure自动生成无密码的root用户,
mysqld –initialize自动生成带随机密码的root用户。
查看密码
一般在datadir=/usr/local/mysql/data/路径下的err里面有记录,但我用的是无密码初始化所有没有密码直接登录
5. 启动mysql,并更改root 密码,开启远程
启动mysql
[[email protected] ~]# cp /usr/local/mysql/
[[email protected] mysql]#./support-files/mysql.server start
修改初始密码
[[email protected] ~]# mysql -uroot -p
Enter password: //这里输入刚刚初始化操作时的初始密码,没有密码直接回车
mysql> alter user 'root'@'localhost' identified by '你的新密码';
Query OK, 0 rows affected (0.02 sec)
mysql>use mysql ; //访问mysql库
#设置允许远程登录
mysql> update user set user.Host='%' where user.User='root';
mysql> FLUSH PRIVILEGES; //刷新MySQL的系统权限相关表
8.0以前的版本修改密码和远程命令
#更改加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVEER;
Query OK, 0 rows affected (0.01 sec)
#更新用户密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
**至此mysql就安装成功了 **
- 部署完毕记得3306端口开防火墙或者添加安全组之类的
99. 其他命令
- 停止mysql
[[email protected] mysql]# ./support-files/mysql.server stop
- 重启mysql
[[email protected] mysql]# ./support-files/mysql.server restart
- 设置编码
- 查看编码
-
设置编码
编辑/etc/my.cnf
[mysqld]
character_set_server=utf8
init-connect='SET NAMES utf8'
- 删除mysql
[[email protected] ~]# rpm -qa|grep mariadb //检查mariadb
[[email protected] ~]# rpm -qa|grep mysql //检查有哪些mysql
[[email protected] ~]# rpm -e --nodeps 删除的名字
基本上就这样,有差异基本不大,出错误看看ERR里的提示信息查询哪里出错