MySQL8.0安装和配置

        MySQL 8.1和MySQL 8.0.34于2023年7月18日正式发布。这一次发布标志着MySQL进入了创新版和稳定版同时发行的阶段。同时,MySQL 8.1是MySQL的首个创新版,除为用户带来了若干新增功能外,还对部分内容做了调整,这部分调整的内容基本上与MySQL 8.0.34一致。

        此外,MySQL 8.1及MySQL 8.0.34版本做了大量的错误修复,这也使MySQL 8.0进入一个稳定的状态。本文针对MySQL8.0版本安装过程进行介绍。

1、卸载已经安装的数据库

1.1 检查linux是否安装了mariadb数据库。

 新安装的centos系统会自带mariadb数据库,mariadb数据库是MySQL的分支,执行命令

yum list installed | grep mariadb

1.2 若linux中安装了mariadb数据库,先卸载掉。

   mariadb数据库可能与安装mysql发生冲突,执行命令

yum -y remove mariadb*.*

(其中mariadb*.*是第1.1步搜索出来的mariadb软件包,不同机器可能不一样)

2、安装MYSQL数据库

2.1 下载MYSQL软件安装包

下载地址:MySQL :: Download MySQL Community Server

1)选择软件包,英文不好的建议浏览器安装自动翻译插件,谷歌自带的翻译插件就很好用。本人习惯用.tar格式或者.tar.xz格式的软件安装包安装软件,所以在此选择了Linux-Genetic操作系统。

我的电脑操作系统是64位的,所以选择的是mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz。

2.2 上传软件包到并解压

执行命令:

tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar -C /usr/local

其中,-C /usr/local 是指定解压到哪个目录下去,如果不加这个参数,则解压到当前所在的目录,此时压缩格式的软件安装包完全解压。切换目录到解压后的目录再次执行命令:

mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql-8.0.19

将文件夹重命名,建议保留版本号。

2.3 添加软连接

执行命令:ln -s源文件 目标文件

ln -s /usr/local/mysql-8.0.19/ /mysql

该命令是在根目录下创建mysql指向/usr/local/mysql8.0.19/的软连接,linux中的软连接就类似于Windows中的快捷方式。

2.4 添加MYSQL用户

useradd mysql 或者 adduser mysql

具体是使用useradd命令还是使用adduser命令,结合操作系统根据个人喜好来选择.

2.5 初始化数据库

1)在mysql目录下创建data文件夹,执行命令

mkdir data

2)切换到mysql/bin目录下执行命令

./mysqld --initialize --user=mysql -- datadir=/usr/local/mysql-8.0.19/data --basedir=/usr/local/mysql-8.0.19

在执行上面命令后,会生成一个临时的mysql数据库root用户的密码,类似于以下这行内容:

[Note] A temporary password is generated for root@localhost: sEy%rqWwo7j(

其中,root@localhost: 后面跟的是mysql数据库登录的临时密码,各人安装生成的临时密码不一样,请先拷贝出来记住,后续第一次登录mysql需要使用。

3)切换到mysql/bin目录下执行命令

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-8.0.19/data

2.6 验证安装是否成功

1)启动数据库服务,切换到mysql/bin目录下执行命令

./mysqld_safe &  --后台启动mysql服务。

2)登录数据库,切换到mysql/bin目录下执行命令

./mysql -uroot -p

输入2.5.2步生成的临时密码,进入数据库。

3)执行sql语句 show databases

第一次使用将会提示修改mysql的root用户密码:

mysql> show databases; 
ERROR 1820 (HY000): You must reset your password using ALTER  USER statement before executing this statement.

4)修改MYSQL数据库密码

alter user 'root'@'localhost' identified by 'cdishm324928@QC';

密码修改之后退出数据库,执行命令exit,然后重新进入数据库,这次需要输入的密码是刚设置的。

3.授权远程连接

此操作与低版本的有区别,低版本的只要分别执行以下命令一般就可以解决远程连接权限问题:

mysql> grant all privileges on *.* to root@'%' identified by 'cdishm324928@QC';

mysql> flush privileges;

8.0以上的版本,需要执行以下命令:

3.1:开放root用户的权限

mysql> update user set Host="%" where User="root";

3.2:刷新权限

mysql> flush privileges;

3.3:还原密码验证插件.

将MySQL8的密码认证插件由caching_sha2_password更换成mysql_native_password

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'cdishm324928@QC';

3.4:刷新权限

mysql> flush privileges;

4.设置MYSQL开机启动

4.1 拷贝服务文件

将服务文件复制一份到/ETC/INIT.D下,并重命名为MYSQL或者MYSQLD,执行命令:

cp /mysql/support-files/mysql.server /etc/init.d/mysql

4.2 对文件赋予执行权限

chmod +x /etc/init.d/mysql 或 chmod 777 /etc/init.d/mysql

4.3 增加MYSQL服务

执行命令:

chkconfig --add mysql

4.4 查询MYSQLD服务

执行命令:

chkconfig --list mysql

mysql服务运行状态如下:

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

默认的运行级别为2,3,4,5为on;如果3,4,5 为off:则执行命令:

chkconfig --level 345 mysql on

4.5 重启服务器验证

重启之后,发现服务启动了,但是mysql没有启动,经过排查,找到原因是启动文件没有修改配置,因为本人的basedir和datadir都不是mysql默认的/usr/local/mysql和/usr/local/mysql/data。

方法1:

- Run this script from within the MySQL installation directory。

在mysql安装目录内运行。

方法2:

- Create a /etc/my.cnf file with the following information:创建my.cnf文件

[mysqld]

basedir=<path-to-mysql-installation-directory>

方法3:

- Add the above to any other configuration file 

(for example ~/.my.ini) and copy my_print_defaults to /usr/bin

将方法2中的内容复制到别的文件中(例如~/.my.ini),并且把mysql/bin目录下的my_print_defaults文件复制到 /usr/bin目录下。

方法4:

- Add the path to the mysql-installation-directory to the basedir variable below.

修改下面的basedir变量,将mysql的路径赋值给下面的basedir。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值