环境: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';