手把手教你安装MySQL 心已赠人 2022-11-19 09:54 258阅读 0赞 在日常开发学习中不可或少的需要用到MySQL,本文手把手教你如何在Centos7下使用RPM管理包安装MySQL,闲话少叙,直接开始! > 文中MySQL版本为5.7.32 ## 安装服务端 ## 1. 下载mysql server端的 rpm 文件 下载地址:https://downloads.mysql.com/archives/community/ 选择版本:mysql-community-server-5.7.32-1.el7.x86\_64.rpm 2. 上传至服务器 /app/soft 3. 安装mysql所需要的组件 `yum install libaio` (可选) 4. 安装mysql Server `rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm --nodeps --force` 如果不加`--nodeps --force` 则提示需要安装客户端依赖等错误 warning: mysql-community-server-5.7.32-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.32-1.el7.x86_64 mysql-community-common(x86-64) = 5.7.32-1.el7 is needed by mysql-community-server-5.7.32-1.el7.x86_64 1. 查看是否安装 [root@review-dev soft]# rpm -qa | grep mysql mysql-community-server-5.7.32-1.el7.x86_64 1. 启动mysql并查看状态 [root@review-dev soft]# systemctl start mysqld.service -- 启动 [root@review-dev soft]# systemctl status mysqld.service -- 查看状态 ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2021-01-18 11:32:17 CST; 15s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 7054 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 6825 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 7057 (mysqld) CGroup: /system.slice/mysqld.service └─7057 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 通过上面我们就安装好了MySQL的Server端,这时候是无法使用MySQL命令登录的,还需要安装一个Client端才行! ## 安装客户端 ## 1. 下载mysql client端的 rpm 文件 下载地址:https://downloads.mysql.com/archives/community/ 选择版本:mysql-community-client-5.7.32-1.el7.x86\_64.rpm 2. 上传至服务器 /app/soft 3. 安装客户端 `rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm --nodeps --force` 同理,这里如果不加`--nodeps --force` 指令还是会出现如下所示的错误 [root@review-dev soft]# rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm warning: mysql-community-client-5.7.32-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-libs(x86-64) >= 5.7.9 is needed by mysql-community-client-5.7.32-1.el7.x86_64 安装完Server和Client端后,还需要修改一些默认配置。 ## 配置 ## 1. 获取原始密码 grep "password" /var/log/mysqld.log 2021-01-18T03:32:13.444809Z 1 [Note] A temporary password is generated for root@localhost: r8G>.aGR,GaA 1. 使用原始密码登录mysql服务器 `mysql -uroot -p`输入上面获取到的密码回车登录 2. 修改密码 `ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'` 其中 ‘new password’ 替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。 3.1 修改密码安全策略 如果出现如下错误则说明新密码不符合密码策略 `ERROR 1819 (HY000): Your password does not satisfy the current policy requirements` 可通过命令 `SHOW VARIABLES LIKE 'validate_password%';`查看安全策略 ![format_png][] 可通过命令修改对应的安全策略,如将密码等级设置成LOW:`set global validate_password_policy=LOW;` 如将密码长度设置成8 `set global validate_password_length=6`; > mysql 密码策略相关参数: > > 1)validate\_password\_length 固定密码的总长度; > 2)validate\_password\_dictionary\_file 指定密码验证的文件路径; > 3)validate\_password\_mixed\_case\_count 整个密码中至少要包含大/小写字母的总个数; > 4)validate\_password\_number\_count 整个密码中至少要包含阿拉伯数字的个数; > 5)validate\_password\_policy 指定密码的强度验证等级,默认为 MEDIUM; > 6)validate\_password\_special\_char\_count 整个密码中至少要包含特殊字符的个数; > > 关于 validate\_password\_policy 的取值: > LOW:只验证长度; > MEDIUM:验证长度、数字、大小写、特殊字符; > STRONG:验证长度、数字、大小写、特殊字符、字典文件; 1. 新增远程登录用户 create user 'xxxxxx'@'%' identified by 'password'; GRANT ALL PRIVILEGES ON *.* TO 'xxxxxx'@'%' identified by password'; flush privileges; 1. 修改mysql默认语言为utf8mb4 默认情况下MySQL使用的语言是latinl,可在登录mysql服务的情况下使用`status`指令查看,需要将其修改成主流的utf8mb4 ![format_png 1][] 先退出mysql,然后再到/etc目录下的my.cnf文件下新增以下内容(见红框) `vi /etc/my.cnf` ![format_png 2][] 修改完成后重启mysql `systemctl restart mysqld.service` 重新登录mysql,再次查看状态: ![format_png 3][] 通过上面几步,我们已经可以使用MySQL进行开发测试了,但是此时的MySQL并不能直接用于生产,我们还得修改MySQL服务器的配置参数,提升其性能与吞吐率。 具体参数可参照下面文章进行优化配置: http://javadaily.cn/articles/2019/11/18/1574040329451.html ![format_png 4][] [format_png]: /images/20221119/b636d3c7938b4943bf83b5e36ff22bc6.png [format_png 1]: /images/20221119/1af02531e4ed47e092c260990936ac25.png [format_png 2]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9QeE16VDBPaWJmNGo3b2tKaWJJZjNNSE5IWlY3d0k4OVl6cEQ2N25PRTFGR1lKVzgzQXE5bllONGRwUUx6SVcxRno0aWJEb2d3UHNCZFUyR2ljV3hwbHFRUHcvNjQw?x-oss-process=image/format,png [format_png 3]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9QeE16VDBPaWJmNGo3b2tKaWJJZjNNSE5IWlY3d0k4OVl6eWV0WmxBazQ0TE4zSk5PZWlhNnlXWUNORmhnQURtcUZvU3E2emlhY1NkN1d4MzZPRHQ2RW5ZS3cvNjQw?x-oss-process=image/format,png [format_png 4]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9QeE16VDBPaWJmNGlhc1FvS3V3czA4cjBOa3ZvdjJ2NkE0TmR2MGZWMUkwaWJKTENpY1R2SzVlQm03TVh1Y3hqa3MyUXBwWnh6TWJvN2xwWFR1MVhXMlVpY1N3LzY0MA?x-oss-process=image/format,png
还没有评论,来说两句吧...