天天看点

Linux安装部署MySQL8.0

Linux安装MySQL8.0

自已安装完的备忘笔记,方便以后重新部署

1. 下载MySQL

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

Linux安装部署MySQL8.0
Linux安装部署MySQL8.0

选择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
           
  • 设置编码
  1. 查看编码
  1. 设置编码

    编辑/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里的提示信息查询哪里出错