1.下载mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz的安装包
https://dev.mysql.com/downloads/mysql/
如果不下载,可用预留mysql安装包文件。
2.解压mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz(注意解压.xz压缩包是 -xvf参数非-zxvf)
[root@localhost local]# tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
3.将解压的文件重命名为mysql
[root@localhost local]# mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
4.进入到/usr/local目录下,创建用户和用户组并授权
[root@localhost local]# pwd /usr/local [root@localhost local]# groupadd mysql [root@localhost local]# useradd -r -g mysql mysql [root@localhost local]# chown -R mysql:mysql ./ #授权 [root@localhost local]#
5.在/usr/local/mysql目录下,创建data文件夹
[root@localhost mysql]# mkdir data
6.创建my.cnf文件(cd /etc/ 目录下)
[root@localhost etc]#touch my.cnf
[root@localhost etc]# vim /etc/my.cnf
配置为以下查看内容
[root@localhost support-files]# cat /etc/my.cnf
[client]
port = 3306 socket = /tmp/mysql.sock [mysqld] init-connect='SET NAMES utf8' basedir=/usr/local/mysql #根据自己的安装目录填写 datadir=/usr/local/mysql/data #根据自己的mysql数据目录填写 socket=/tmp/mysql.sock max_connections=200 # 允许最大连接数 character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集 default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-error=/usr/local/mysql/data/error.log
lower_case_table_names=1 #1表示不区分大小写 0表示默认区分
7.初始化数据库,并会自动生成随机密码,记下等下登陆要用(注意,记得和不区分大小写一直执行,这是个mysql-8.x的坑,执行的前提是要在配置文件中有这个命令)
[root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower-case-table-names=1
初始化时如果出现了报错:
安装 libaio 包 ,安装成功后,继续运行数据库的初始化命令。
[root@localhost mysql]# rpm -qa|grep libaio
[root@localhost mysql]# yum -y install libaio-devel.x86_64
8.修改/usr/local/mysql当前目录得用户
[root@localhost mysql]# chown -R root:root ./
[root@localhost mysql]# chown -R mysql:mysql data
9.开机自启,进入/usr/local/mysql/support-files进行设置
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# chmod +x /etc/init.d/mysql
10.注册服务
[root@localhost support-files]# chkconfig --add mysql [root@localhost support-files]# chkconfig --list mysql 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@localhost support-files]#
11.etc/ld.so.conf要配置路径,不然报错
[root@localhost support-files]# vim /etc/ld.so.conf
添加如下内容:
/usr/local/mysql/lib
12.配置环境变量
[root@localhost support-files]# vim /etc/profile
添加如下内容:
#MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
13.更新环境变量
[root@localhost support-files]# source /etc/profile
14.启动mysql服务
[root@localhost ~]# service mysql start
15.登录,密码为上面第6步随机生成得密码(输入时不显示)
修改 'root'@'localhost' 的密码
mysql> alter user 'root'@'localhost' identified by 'root123'; Query OK, 0 rows affected (0.02 sec)
16.开启允许远程登录
mysql> use mysql; #如果报以下该错误 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER USER() IDENTIFIED BY 'root'; #解决方式 Query OK, 0 rows affected (0.01 sec)
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
mysql> select host, user, authentication_string, plugin from user;#查看用户信息 +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | host | user | authentication_string | plugin | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | root | $A$005$<C_9#Yu!~]+H ?K.8u3KgsQTtj2nbChjoYOTRNsG2jMcHuOGpMrXFo7GF1 | caching_sha2_password | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ 4 rows in set (0.00 sec) mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root'; #创建任意ip连接root用户 Query OK, 0 rows affected (0.01 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; #授权root用户可以远程登陆 Query OK, 0 rows affected (0.01 sec) mysql> flush privileges;#立即生效 Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';#修改'root'@'%'用户密码 Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES;#立即生效 Query OK, 0 rows affected (0.02 sec) mysql> exit;#退出 Bye [root@localhost ~]# service mysql restart #重启mysql服务 Shutting down MySQL.. SUCCESS! Starting MySQL.. SUCCESS! [root@localhost ~]#
防火墙开放3306端口
至此全部配置完成,远程工具即可连接。
————————————————
版权声明:本文为CSDN博主「大橘为重Q」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38898423/article/details/103473895