CentOS 7 上安装mysql-8.0.20

1、检查是否安装过mariadb

# 查看是否存在mariadb
rpm -qa | grep mariadb |wc -l
# 卸载mariadb
rpm -e --nodeps `rpm -qa | grep mariadb`

2、解压并创建目录

# 解压
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
# 修改文件夹名
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
# 移动到  /usr/local/dev/
# 注意一定不要放到/root 目录下,否则会出现很多权限问题
mv mysql /usr/local/dev/

#进入mysql 目录
cd /usr/local/dev/mysql/
# 创建数据目录和临时目录
mkdir data tmp

3、创建用户和用户组

# 创建mysql 用户和用户组
groupadd mysql
useradd -r -g mysql mysql
# 修改用户目录所有者
chown -R mysql:mysql /usr/local/dev/mysql

4、配置my.cnf

[mysqld]
lower_case_table_names=1
default-time_zone='+8:00'

user=mysql
port=3306

basedir=/usr/local/dev/mysql
datadir=/usr/local/dev/mysql/data
tmpdir=/usr/local/dev/mysql/tmp

socket=/usr/local/dev/mysql/tmp/mysql.sock
log-error=/usr/local/dev/mysql/tmp/error.log
pid-file=/usr/local/dev/mysql/tmp/mysql.pid

# 修改mysql 默认加密方式为旧的方式
default-authentication-plugin = mysql_native_password

[mysql]
default-character-set=utf8

[client]
port=3306
default-character-set=utf8
socket=/usr/local/dev/mysql/tmp/mysql.sock

5、初始化数据库

# 初始化和启动mysql
cd /usr/local/mysql/bin

# 初始化数据库

# 注意如果此时在/etc/my.cnf 配置了error-log ,不会打印了
# 若未指定/etc/my.cnf 默认安装到 /var/lib/mysql/
./mysqld --initialize --console --user=mysql

# 清空数据目录(如果想重新安装)
/usr/local/dev/mysql/bin/data
rm -rf *

# 查看默认密码
tail -f /usr/local/dev/mysql/tmp/error.log
# 示例如下 BIyl8d-z)2m#
A temporary password is generated for root@localhost: BIyl8d-z)2m#

6、启动、关闭和连接

cd /usr/local/dev/mysql/bin
# 启动mysql
./mysqld_safe --user=mysql&

# 关闭 mysql
./mysqladmin -uroot -p shutdown

# 连接数据库
./mysql -u root -p

7、连接并修改密码

cd /usr/local/dev/mysql/bin

# 连接数据库,默认密码查看初始化时
./mysql -u root -p

# 修改密码
ALTER USER "root"@"localhost" IDENTIFIED  BY "123456";

8、打开远程连接

cd /usr/local/dev/mysql/bin

# 连接数据库,默认密码查看初始化时
./mysql -u root -p

# 打开远程连接
use mysql;
update user set host='%' where user ='root';
#立即生效,必须
FLUSH PRIVILEGES;

# 查看是否生效
select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
4 rows in set (0.00 sec)


# SQL 方式修改加密方式
update user set plugin='mysql_native_password' where user='root';
select host,user,plugin from user;

9、开放端口

# 查看所有端口
firewall-cmd --zone=public --list-ports
# 开放端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 重新载入配置
firewall-cmd --reload

初始化日志

[root@winterSun bin]# ./mysqld --initialize --console --user=mysql
2020-09-05T07:55:59.076190Z 0 [System] [MY-013169] [Server] 
/usr/local/dev/mysql/bin/mysqld (mysqld 8.0.20) 
initializing of server in progress as process 5169
2020-09-05T07:55:59.084274Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-09-05T07:56:02.120377Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-09-05T07:56:04.092946Z 6 [Note] [MY-010454] [Server]
 A temporary password is generated for root@localhost: BIyl8d-z)2m#

错误信息

[root@winterSun bin]# ./mysqld --initialize --console --user=mysql
./mysqld: error while loading shared libraries: libaio.so.1: 
cannot open shared object file: No such file or directory

# 安装依赖
rpm -qa|grep libaio
yum install libaio
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值