【MySQL8----安装】MySQL8.0在Linux安装

一、准备

1.首先清理环境,看是否有默认数据库

rpm -qa | grep mysql

如果有的话删除

yum remove mysql-libs-5.1.73-8.el6_8.x86_64

 2.查看是否有残余文件,如果有的话清理掉

[root@wzthdev oneinstack]# find / -name mysql
/var/spool/mail/mysql
/data/mysql2019050916/mysql
/opt/module/mysql-8.0.16/bin/mysql
/opt/module/mysql-8.0.16/include/mysql
[root@wzthdev oneinstack]# rm -rf /var/spool/mail/mysql /data/mysql2019050916/mysql
[root@wzthdev oneinstack]# 

3.检查端口3306是否占用

ps -ef | grep mysql

 二、下载

1.安装包方式

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

如果你的系统是32位选择第一个,64位选择第二个

三、解压安装

1.解压文件

官网下载后的后缀为xz,需要先将xz转换为tar格式

xz -d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

然后再解压

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar

2.移动到安装目标地并重命名

 mv mysql-8.0.16-linux-glibc2.12-x86_64 ../module/mysql-8.0.16

3.在MySQL根目录下新建一个文件夹data,用于存放数据

mkdir data

4.创建 mysql 用户组和 mysql 用户

groupadd mysql

useradd -g mysql mysql

5.改变 mysql 目录权限

chown -R mysql.mysql mysql-8.0.16/

或者

chown -R mysql .

chgrp -R mysql .

6.初始化数据库

./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql-8.0.16/ --datadir=/opt/module/mysql-8.0.16/data/

如果报错

说明缺少组件,运行命令安装即可

yum install libaio*

记住密码

7.启动服务

修改配置文件/etc/my.cnf

[mysqld]
datadir=/opt/module/mysql-8.0.16/data/
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 最大连接数
max_connections = 2000
# 超时时间3分钟
wait_timeout=1800
interactive_timeout=1800
# 忽略解析,结束DNS反查
skip-name-resolve
skip-external-locking
# 设置默认时区
default-time-zone = '+08:00'
# SQL模式,去掉所有限制,防止GROUP BY 等无法执行
sql_mode =

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysql/mysqld.pid

给/var/run/mysql赋予权限 

mkdir /var/run/mysql/
chown -R mysql.mysql /var/run/mysql/

启动 

./bin/mysqld_safe --user=mysql &

查看mysql进程,是否启动

ps -ef | grep mysql

报错1:可能是my.cnf没有修改

2019-05-30T09:36:10.501021Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

报错2:/var/run/mysql没有给权限

[root@wzthdev mysql-8.0.16]# 2019-05-30T09:57:05.855306Z mysqld_safe Logging to '/var/log/mysqld.log'.
2019-05-30T09:57:05.882430Z mysqld_safe Starting mysqld daemon with databases from /opt/module/mysql-8.0.16/data
2019-05-30T09:57:08.442948Z mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended

8.修改密码及远程连接

./bin/mysql -u root -p
#使用初始化之后给的密码登录

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //修改密码
use mysql;
update user set host = '%' where user = 'root';  //允许远程访问
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456'; //更新一下用户的密码 
ALTER USER 'root' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; //修改加密规则

FLUSH PRIVILEGES; #刷新权限


SELECT user,host,plugin,authentication_string FROM user; #验证

9.MySQL加入到系统服务中,并设置开机启动

cp /opt/module/mysql-8.0.16/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld  // 赋予可执行权限
chkconfig --add mysqld  // 添加服务
chkconfig --list  //显示服务列表

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

chkconfig --level 345 mysqld on

10.添加环境变量

vim ~/.bash_profile
PATH=/opt/module/mysql-8.0.16/bin:/opt/module/mysql-8.0.16/lib:$PATH

source ~/.bash_profile

11.检查mysql运行状态

service mysqld status  # 查看运行状态
service mysqld start  # 启动
service mysqld stop  # 停止
service mysqld restart  # 重新启动

如果报错 

/etc/init.d/mysqld: line 239: my_print_defaults: command not found

说明/etc/my.cnf文件中 [mysqld] 缺少 basedir 或 datadir 配置,加上即可

12.新增用户

CREATE USER 'db_user'@'%' IDENTIFIED BY '123456'; # 创建用户
update user set host = '%' where user = 'root';  //允许远程访问

ALTER USER 'root' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; //修改加密规则
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456'; //更新一下用户的密码 

GRANT ALL PRIVILEGES ON *.* TO 'db_user'@'%' WITH GRANT OPTION; # 赋予所有权限

FLUSH PRIVILEGES; #刷新权限

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值