centos 7.7 二进制安装mysql8.0.29
环境:centos 7
准备工作:
数据库安装路径/data/mysql
[root@centos7 my.cnf.d]# mkdir /data/mysql -p
解压:路径 /usr/local
[root@centos7 soft]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
1、安装包
yum -y install libaio numactl-libs
2、用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
3、准备程序文件
[root@centos7 soft]# tar xvf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
cd /usr/local/
ln -s mysql-5.7.29-linux-glibc2.12-x86_64/ mysql
chown -R root.root /usr/local/mysql-…/ 最后那个斜杠一下要加上,这里也踩过坑
4、准备环境变量
[root@centos7 bin]# echo ‘PATH=/usr/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh
[root@centos7 bin]# . /etc/profile.d/mysql.sh(新开窗口)
[root@centos7 bin]#
5、生成配置文件
cp /etc/my.cnf{,.bak}
[root@centos7 mysql]# grep -v ^# /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
skip_name_resolve=1
[mysqld_safe]
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
[root@centos7 mysql]#
6、 生成数据库文件,并提取root密码 (新开一个窗口)
[root@centos7 ~]# mysqld --initialize --user=mysql --datadir=/data/mysql
[root@centos7 ~]#
查看临时性口令:cat /data/mysql/mysql.log ??
[root@centos7 bin]# mysqld --initialize --user=mysql --datadir=/data/mysql
2022-08-07T08:51:09.249160Z 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-08-07T08:51:09.249313Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.29-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.29) initializing of server in progress as process 9095
2022-08-07T08:51:09.261881Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-07T08:51:09.820419Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-07T08:51:11.256792Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 6GBj57k2qD.v
7、准备服务的脚本
[root@centos7 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@centos7 local]# cd /usr/local/mysql/bin
[root@centos7 bin]#
[root@centos7 ~]# chkconfig --add mysqld
[root@centos7 ~]#
启动服务
[root@centos7 ~]# systemctl start mysqld
[root@centos7 ~]# mysql -uroot -p’6GBj57k2qD.v’ 此时能登陆,但是任何操作不能做
alter user root identified by ‘123456’;
5.7.6以前的版本改密码
1\SET PASSWORD = PASSWORD(‘123456’);
[root@centos7 ~]# mysqladmin -uroot -p’.e2i;He2y!wu’ password 112345
现在
mysql> ALTER USER USER() IDENTIFIED BY ‘centos’;
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql -uroot -p’Admin123’
MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。
8\运行安全安装命令
mysql_secure_installation
本地登陆建账号
create user test@‘%.%.%.%’ identified by ‘centos’;