一、安装版本

CentOS 8            MySQL 8.18

二、环境配置

  1. 检测系统是否自带mysql
rpm -qa|grep mysql

debain11 安装 mysql mysql1.8安装_mysql

  • 如果有,进行卸载
rpm -e --nodeps mysql名

debain11 安装 mysql mysql1.8安装_java_02


2. 检测系统是否自带 mariadb

rpm -qa|grep mariadb

debain11 安装 mysql mysql1.8安装_linux_03

  • 如果有,进行卸载
rpm -e --nodeps mariadb名

debain11 安装 mysql mysql1.8安装_linux_04


3. 用连接工具将下载的 mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz 上传到linux服务器的/usr/local/tmp目录下面

4. 解压mysql文件

xz -d ***.tar.xz      #比较大,等待一会儿
tar -xvf ***.tar

debain11 安装 mysql mysql1.8安装_mysql_05


5. 移动文件夹并且进行改名

cp -r mysql-8.0.18-linux-glibc2.12-x86_64 /usr/local/mysql

debain11 安装 mysql mysql1.8安装_linux_06

三、安装MySQL

  1. 检查mysql组和用户是否存在,如果没有则创建
cat /etc/group|grep mysql
groupadd mysql   #创建一个新的mysql组
useradd -r -g mysql mysql
    # useradd -r    参数表示mysql用户是系统用户,不可用于登录系统。
    # useradd -g    参数表示把mysql用户添加到mysql用户组中。

debain11 安装 mysql mysql1.8安装_mysql_07

  1. 创建data文件夹
mkdir /usr/local/mysql/data
  1. 将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql

debain11 安装 mysql mysql1.8安装_linux_08

  1. 在/usr/local/mysql/support-files目录下创建my_default.cnf
vim /usr/local/mysql/support-files/my_default.cnf

debain11 安装 mysql mysql1.8安装_debain11 安装 mysql_09

  1. 写入以下内容
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 设置时区为东八区
default-time-zone='+08:00'
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password  可以使用8.0新版认证模式,注销下面一行,如果使用5.7认证方式,不注销
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
  1. 拷贝文件并改名,如果第一次安装,不会有,如果已经安装过,是否覆盖,
cp /usr/local/mysql/support-files/my_default.cnf /etc/my.cnf

debain11 安装 mysql mysql1.8安装_debain11 安装 mysql_10

  1. 初始化mysql,并记住临时密码,进入mysql根目录执行一下命令:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

debain11 安装 mysql mysql1.8安装_intellij idea_11

  • 临时密码为: UAP/d!eU-4x6
  • 备注:如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过
安装libaio命令:yum install libaio
  1. 进入mysql根目录,把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
  1. 启动mysql
service mysql start

四、进入mysql修改密码

  1. 登录mysql
mysql -uroot -p
  • 如果报以下错误,则添加映射可以解决
  • 添加映射
ln -s  /usr/local/mysql/bin/mysql    /usr/bin
  • 如果报错: mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
  • 解决方法
先查找文件: libtinfo    命令:   find /usr/lib64/ -name "libtinfo*"
添加映射: ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5		//将libtinfo.so.6.1映射为/libtinfo.so.5
  1. 修改密码
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES; -- 刷新权限

五、添加用户并且赋予权限

  1. 创建用户
-- 创建 test 用户及密码 '123456',并且可以远程访问 '%'
mysql> create user 'test'@'%' identified by '123456';
  1. 删除用户
mysql> drop user 'aaa'@'%';  -- 删除aaa用户;
  1. 刷新权限
mysql> flush privileges;
  1. 设置用户对一个数据库有所有权限
grant all on 数据库名.* to 用户名;
  1. 设置用户对所有数据库的所有权限
grant all on *.* to 用户名;
  1. 关闭用户的远程访问权限
use mysql;    -- 进入mysql数据库
update user set host = "localhost" where user = "test" and host= "%";        -- 修改tset的host的%为localhost
flush privileges;        -- 刷新权限
  1. 查看用户是否可以远程访问
use mysql;    -- 进入mysql数据库
select user , host from user;        -- 查询用户和是否可以远程访问,%代表可以远程访问,localhost代表只能本地访问

六、常用mysql命令

mysql> show global variables like 'port';  --查看mysql端口号