CentOS7安装MySQL8

CentOS7安装MySQL8

#rpm -qa | grep mariadb
 #安装mysql 依赖包
 yum install libaio
 #下载mysql 安装包上传路径
 mkdir /usr/soft & cd /usr/soft
 #安装包上目录赋权限:
 chmod -R 777 /usr/soft
  wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-el7-x86_64.tar
  #创建mysql 安装目录
  mkdir /usr/local/mysql
  mkdir /usr/local/mysql/data
  #安装目录赋权限:
  chmod -R 777/usr/local/mysql/
  chmod -R 777/usr/local/mysql/data/
  #解压mysql 安装包执行命令:
  cd /usr/soft/ && tar -xvf mysql-8.0.11-el7-x86_64.tar
  #复制解压结果到mysql 安装目录:
  cp -rf /usr/soft/mysql-8.0.11-el7-x86_64/ /usr/local/mysql
  #创建MySQL 组
  groupadd mysql
  #创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
  useradd -r -g mysql -s /bin/false mysql
  #把刚创建的mysql用户加入到mysql组下:
  chown-R mysql:mysql /usr/local/mysql
  #创建mysql 安装初始化配置文件
cat <<EOT > /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
EOT
#安装mysql,安装MySQL,并记住随机密码:
cd /usr/local/mysql/bin/ && ./mysqld --initialize --console
#启动MySQL服务:
cd support-files/ && ./mysql.server start
chmod -R 777 /usr/local/mysql/data
./mysql.server restart
#mysql加入系统进程中:
cp mysql.server /etc/init.d/mysqld
service mysqld restart
#修改随机登陆密码:
alter user  'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'zj1Q2wdev!';
#允许用户远程登录
update user set user.Host='%'where user.User='root';
flush privileges;
#重启mysqld服务
service mysqld restart

#添加用户
GRANT ALL ON *.* TO 'agoit'@'%';
#赋权限
GRANT ALL ON *.* TO 'agoit'@'%';
#用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令
GRANT privileges ON databasename.tablename TO 'agoit'@'host' WITH GRANT OPTION;

CentOS7安装MySQL8