Mysql 5.6 安装 for Linux

本文详细记录了在CentOS系统中安装MySQL 8.0.21的步骤,包括用户创建、配置文件编辑、初始化安装、密码修改及遇到的问题,如空密码初始化、认证插件加载问题。最后介绍了mysql8.0.30的配置优化实例。
摘要由CSDN通过智能技术生成

目录

一、安装相关包

二、创建Linux系统用户并分配权限(root 用户操作)

三、上传mysql的tar.gz包到 /usr/local 目录下(mysql 用户操作)

四、进入 /usr/local/mysql 新建并编辑修改配置文件(mysql 用户操作)

五、进入 /usr/local/mysql 下建立my.cnf文件中涉及到的文件路径

六、进入 /usr/local/mysql 初始化配置并安装

七、检测安装是否成功,启动mysql,进入 /usr/local/mysql 执行:

八、用root用户登陆mysql 并修改mysql用户的密码,在/usr/local/mysql/bin 目录下执行:

九、用mysql 用户登陆mysql 进入/usr/local/mysql/bin目录执行

十、2022年11月更新mysql8安装过程的一次经历(非转载)


一、安装相关包

yum install libaio*

yum install numactl

yum install perl

yum install perl-devel

二、创建Linux系统用户并分配权限(root 用户操作)

创建用户组:groupadd mysql

创建用户并分配组: useradd -g mysql mysql

设置密码:passwd mysql

给用户组授权:chown -R mysql:mysql /usr/local/

三、上传mysql的tar.gz包到 /usr/local 目录下(mysql 用户操作)

解压:tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

重命名:mv mysql-5.6.43-linux-glibc2.12-x86_64 mysql

四、进入 /usr/local/mysql 新建并编辑修改配置文件(mysql 用户操作)

vi my.cnf (如果没有就新建)

添加或替换一下内容

[client]

default-character-set=utf8

socket=/usr/local/mysql/tmp/mysql.sock

[mysql]

default-character-set=utf8

[mysqld]

socket=/usr/local/mysql/tmp/mysql.sock

tmpdir=/usr/local/mysql/tmp/

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

symbolic-links=0

character_set_server=utf8

[mysqld_safe]

default-character-set=utf8

log-error=/usr/local/mysql/logs/mysqld.log

pid-file=/usr/local/mysql/run/mysqld/mysqld.pid

授权:chmod 644 my.cnf

五、进入 /usr/local/mysql 下建立my.cnf文件中涉及到的文件路径

tmp(数据库临时文件夹)

logs(日志存储文件夹)

run/mysqld(目录,存放运行mysql所需文件)

命令:

mkdir tmp

mkdir logs

mkdir -p run/mysqld

六、进入 /usr/local/mysql 初始化配置并安装

./scripts/mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

说明:--user=mysql  (表示用户名)

七、检测安装是否成功,启动mysql,进入 /usr/local/mysql 执行:

bin/mysqld_safe &

查看是否启动成功,执行:

ps -ef |grep mysql

结果如下:

八、用root用户登陆mysql 并修改mysql用户的密码,在/usr/local/mysql/bin 目录下执行:

./mysql -h127.0.0.1 -uroot

连接成功

  a: use mysql

  b:   UPDATE user SET PASSWORD=PASSWORD('mysql') WHERE USER='mysql';

  c:   flush privileges;

  d:  给mysql用户远程连接的权限:

    grant all privileges on *.* to mysql @"%"  identified by"mysql" with grant option;

九、用mysql 用户登陆mysql 进入/usr/local/mysql/bin目录执行

./mysql -h192.168.232.101 -umysql -pmysql --default-character-set=utf8

说明:  -h 后面加的是ip地址   -u后面是用户名  -p 是密码  后面是字符编码

以上部分为转载内容。

实际操作环境:

centos6.9

mysql5.6

以下则是在实际安装过程中遇到的问题:

1、步骤二,如果没有建立mysql用户,则注意在my.cnf中增加user=XXX 选项

2、./mysql -h192.168.232.101 -umysql -pmysql --default-character-set=utf8 连接方式,使用mysql -umysql -p 无效原因,参考ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘_滴水可藏海的博客-CSDN博客

以上问题出现的原因则在具体分析中,分析结果后面揭晓。


发现一篇mysql8的安装文章:centos8中安装mysql8.0.21版本以及配置优化

十、2022年11月更新mysql8安装过程的一次经历(非转载)

系统:centos7.3

数据库:https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

参考博客:安装过程参考CentOS安装MySQL8详细步骤中的Linux通用包安装(适用于其它Linux操作系统安装)部分

安装过程中遇到的问题(发生问题原因,不知道为啥,我也很想知道)。

配置文件my.cnf

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

[mysql]
default-character-set=utf8

[mysqld]
socket=/usr/local/mysql/tmp/mysql.sock
tmpdir=/usr/local/mysql/tmp/
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
symbolic-links=0
character_set_server=utf8
lower_case_table_names=1
default_authentication_plugin = mysql_native_password

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
default-character-set=utf8
default-time_zone = '+8:00'
plugin_dir=/usr/local/mysql/plugin
early-plugin-load='keyring_file.so'
keyring_file_data=/var/local/mysql/mysql-keyring/keyring
innodb_file_per_table=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

1、初始化命令,提示空密码

[root@server19 mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize-insecure --lower-case-table-names=1
2022-11-10T09:43:50.608699Z 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-11-10T09:43:50.608825Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 113933
2022-11-10T09:43:50.610524Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2022-11-10T09:43:50.620690Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-11-10T09:43:50.878067Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-11-10T09:43:51.884568Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

        如果空密码的情况下,可以使用mysqladmin命令,这里说明1234是你新设置的密码,可以根据需要设置自己的密码即可。如:

mysqladmin -u root -p password 1234

2、mysql启动后,mysql -uroot -p提示ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

初始化启动后直接登录不进去,大多数文章都说在配置文件my.cnf中设置
default_authentication_plugin。

[client]
...
[mysqld]
...

default_authentication_plugin = mysql_native_password

        但是我试了,完全没用。并且大部分都是该方案,但是不清楚为啥没启作用,我也没深究。

        只能用了一个取巧的方法,先跳过密码验证skip-grant-tables,进入服务器。再修改caching_sha2_password为mysql_native_password即可。如:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxxx';

修改完,删掉skip-grant-tables后重启即可。


未完待续!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值