linux安装mysql8

一、下载https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
二、解压,并创建data文件夹

[root@PTLHSJT1 soft]# tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
[root@PTLHSJT1 soft]# mv mysql-8.0.28-linux-glibc2.12-x86_64 /app/mysql8
[root@PTLHSJT1 app]# cd mysql8/
[root@PTLHSJT1 mysql8]# mkdir data

三、第三步 创建用户组以及用户和密码 并授权

[root@PTLHSJT1 mysql8]# groupadd mysql
[root@PTLHSJT1 mysql8]# useradd -g mysql mysql
[root@PTLHSJT1 mysql8]# chown -R mysql:mysql /app/mysql8/

四、初始化基础信息
初始化基础信息 切记切记切记mysql8 一定要在初始化时设置 不区分大小写,不然后续修改和删除重装没区别
初始化后在原始my.con 下lower_case_table_names = 1 是无效的,所以一定要在初始化时加上 --lower-case-table-names=1

[root@PTLHSJT1 bin]# ./mysqld --user=mysql --basedir=/app/mysql8 --datadir=/app/mysql8/data/ --initialize --lower-case-table-names=1
2022-03-30T06:58:05.127338Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2022-03-30T06:58:05.127434Z 0 [System] [MY-013169] [Server] /app/mysql8/bin/mysqld (mysqld 8.0.28) initializing of server in progress as process 14069
2022-03-30T06:58:05.136008Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-03-30T06:58:05.875919Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-03-30T06:58:08.325808Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: %mo%*0ebwmR5
[root@PTLHSJT1 bin]# 

得到系统初始化随机默认密码,此处得记录下密码,后续操作需要
五、编辑my.cnf文件

[root@PTLHSJT1 bin]# vi /etc/my.cnf
[mysqld]
#设置mysql的安装目录
basedir=/app/mysql8
#设置mysql数据库的数据的存放目录 
datadir=/app/mysql8/data
socket=/var/lib/mysql/mysql.sock
user=mysql
#设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1
#设置客户端默认字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#注释mysqld_safe 下的所有配置 系统会输出到 datadir目录下
#[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid

六、添加mysqld服务到系统 授权以及添加服务

[root@PTLHSJT1 mysql8]# cp -a ./support-files/mysql.server /etc/init.d/mysql
[root@PTLHSJT1 mysql8]# chmod +x /etc/init.d/mysql
[root@PTLHSJT1 mysql8]# chkconfig --add mysql

七、启动服务

[root@PTLHSJT1 mysql8]# service mysql start
Starting MySQL.Logging to '/app/mysql8/data/PTLHSJT1.err'.
                                                           [确定]
[root@PTLHSJT1 mysql8]# service mysql status
MySQL running (14388)                                      [确定]
[root@PTLHSJT1 mysql8]# 

八、将mysql命令添加到服务

[root@PTLHSJT1 mysql8]# ln -s /app/mysql8/bin/mysql /usr/bin
[root@PTLHSJT1 mysql8]# ls -l /usr/bin/mysql
lrwxrwxrwx 1 root 21 3月  30 15:15 /usr/bin/mysql -> /app/mysql8/bin/mysql

九、登陆数据库

[root@PTLHSJT1 mysql8]# mysql -uroot -h 127.0.0.1 -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.28

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

十、修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> flush privileges; 

十一、配置外网连接授权,此处 % 开启所有ip访问


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> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

错误:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

出现问题原因:

有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket
`mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。/tmp 文件夹属于临时文件,随时可能被删除。

1.TCP 连接(如果报错 /tmp/mysql.sock,你可以尝试这种方式连接)
mysql -uroot -h 127.0.0.1 -p

2.socket 连接
mysql -uroot -p

解决方式:

添加 [client] 配置项,如下所示

配置前:(配置 [client] 前,会报错'/tmp/mysql.sock' (2))
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置后:(配置 [client] 后,重启 mysql服务)
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

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

[client]
port=3306
socket=/var/lib/mysql/mysql.sock
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值