CentOS8.或者Liunx安装MySQL8.0.23.
一、下载:链接:https://dev.mysql.com/downloads/mysql/
点击 Download,如下图:
二、安装
- 2.1:在 /opt/module 创建mysql文件夹,>mkdir /opt/module
- 2.2:将下载的mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz上传到服务器module目录下,并解压为tar
- 2.3:解压命令:tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
- 2.4:重命名:mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql8
- 2.5:进入mysql解压后的目录mysql8,并创建存放mysql日志的目录:cd /opt/module/mysql8/
- 2.6:创建mysql数据文件夹data,执行命令:mkdir data
- 2.7:配置mysql环境变量
export MYSQL_HOME=/opt/module/mysql8/bin
export PATH=$PATH:$MYSQL_HOME
配置完成后重载并且执行:source /etc/profile
- 2.8:创建mysql用户组和mysql用户
创建用户组:groupadd mysql
创建用户:useradd -g mysql mysql1
- 2.9:关联myql用户到mysql用户组中
- 2.2.1:更改mysql安装文件夹mysql的权限
- 2.2.2:安装libaio依赖包
查询是否安装libaio依赖包:yum search libaio
如果没安装,可以用下面命令安装:yum install libaio
- 2.2.3:初始化mysql命令
mysqld --user=mysql --basedir=/opt/module/mysql8 --datadir=/opt/module/mysql8/data --initialize
红色框内的是mysql数据库登录的临时密码,保存备用,每个人安装生成的临时密码不一样。
- 2.2.4:启动mysql服务
sh /opt/module/mysql8/support-files/mysql.server start
上面启动mysql服务命令是会报错的,因为没有修改mysql的配置文件,报错内容大致如下:
- 2.2.5:修改Mysql配置文件
vi /opt/module/mysql8/support-files/mysql.server
修改以下属性:
basedir=/opt/module/mysql8
datadir=/opt/module/mysql8/data
mysqld_pid_file_path=/opt/module/mysql8/data/mysqld_pid
接下来,
复制文件:cp /opt/module/mysql8/support-files/mysql.server /etc/init.d/mysqld
赋值权限:chmod 755 /etc/init.d/mysqld
将mysql服务加到系统服务中
chkconfig --add mysqld
开机自启动
chkconfig mysqld on
- 2.2.6:修改my.cnf文件
这里下载的mysql8.0.23版本并没有这个my.cnf文件,因此直接创建的。
vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
basedir=/opt/module/mysql8
datadir=/opt/module/mysql8/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8
# symbolic-links=0
# bind-address=0.0.0.0
[mysqld_safe]
log-error=/opt/module/mysql8/data/error.log
pid-file=/opt/module/mysql8/data/mysqld.pid
tmpdir=/tmp
然后,授权文件my.cnf(注意:这一步有待思考?)赋予权限执行下方
再次启动mysql服务成功,如下图:
- 2.2.7:启动服务
- 2.2.8:登录mysql
解决办法:yum install libncurses* 完美解决!
再次登录mysql(注意:这里的密码是初始化生成的临时密码)
- 2.2.9:修改初始化用的临时密码
解决办法::
修改初始密码:alter user ‘root’@‘localhost’ identified by ‘root’;
刷新:flush privileges;
修改外部连接:update user set host=’%’ where user=‘root’;
刷新:flush privileges; - 2.3.1:修改权限
grant all privileges on *.* to 'root'@'%'