本文已参与「新人创作礼」活动,一起开启掘金创作之路。
背景:最近买了个阿里云服务器,选择的操作系统是CentOS 7.2,安装mysql时的操作记录如下:
-
下载mysql安装包
wget <http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm> -
安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm-
监测mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"如果成功,会出现以下内容:
mysql-connectors-community/x86_64 MySQL Connectors Community 230 mysql-tools-community/x86_64 MySQL Tools Community 138 mysql57-community/x86_64 MySQL 5.7 Community Server 564
-
-
安装mysql
yum install -y mysql-community-server这里可能会报错:
mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装解决办法:
-
在官网下载校验文件
-
跳过校验,加参数:
-nogpgcheckyum install -y mysql-community-server --nogpgcheck
-
-
启动mysql
systemctl start mysqld这个命令执行后没有任何输出,要查看mysql状态,执行命令:
systemctl status mysqld,输出:● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 一 2022-02-07 19:30:44 CST; 14s ago Docs: man:mysqld(8) <http://dev.mysql.com/doc/refman/en/using-systemd.html> Process: 663 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 613 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 666 (mysqld) CGroup: /system.slice/mysqld.service └─666 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid -
设置开机启动:
systemctl enable mysqldsystemctl daemon-reload -
登录
-
mysql安装后有一个默认密码,通过命令找到默认密码:
grep 'temporary password' /var/log/mysqld.log输出:
2022-02-07T11:30:41.938439Z 1 [Note] A temporary password is generated for root@localhost: ANK2ta&=v!ts -
登录:
mysql -uroot -p,输入密码ANK2ta&=v!ts,输入时密码不可见。也可以直接通过命令输入密码,但这样密码是明文的:
mysql -uroot -pANK2ta&=v!ts -
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; -
可以修改密码策略:
- vi /etc/my.cnf,输入
validate_password_policy=0,这里有0、1、2三种策略,0表示最低级别的校验,只会校验密码长度。 - 如果不需要任何校验策略,输入
validate_password=off - 这里可以顺便增加一个配置项:
lower_case_table_names=1,表示是否区分大小写,0表示区分,1表示不区分。
- vi /etc/my.cnf,输入
-
重启mysql,使配置生效:
systemctl restart mysqld -
mysql的root用户只能本地访问,可以创建一个远程访问的用户:
GRANT ALL PRIVILEGES ON *.* TO 'its'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
-
参考:
https://developer.aliyun.com/article/637827
https://www.jianshu.com/p/27da2848bd89
https://blog.csdn.net/weixin_45368812/article/details/122614962