想在服务器上安装MySQL,参考网上的各类文章,自己动手做了一遍,最终成功。注意,一定要开启服务器的3306端口,不然除了本机是访问不到的哦。
1. 找到mysql的yum源
https://dev.mysql.com/downloads/repo/yum/
![](https://i-blog.csdnimg.cn/blog_migrate/1b5a95b42aa05d8468e18098908011d5.png)
2. 下载yum源
命令:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
注意:/get/后边为上图红框中的内容即可
![](https://i-blog.csdnimg.cn/blog_migrate/a7642fb85312cd76aef79292fdf865f2.png)
3. 安装yum源
命令:yum localinstall mysql57-community-release-el7-11.noarch.rpm
![](https://i-blog.csdnimg.cn/blog_migrate/e5f951eacdc96c0a1b143d6b0929fd97.png)
安装成功后如下
![](https://i-blog.csdnimg.cn/blog_migrate/328d9abfe24c45df6008f744b634dcf2.png)
4. 检查yum源是否安装成功
命令:yum repolist enabled | grep "mysql.*-community.*"
![](https://i-blog.csdnimg.cn/blog_migrate/f2f5c4392ddd836957e502a5030ae453.png)
5. 安装mysql
命令:yum install mysql-community-server
![](https://i-blog.csdnimg.cn/blog_migrate/39c00266e2abade330ab9d9e4e1a0599.png)
安装成功后如下
![](https://i-blog.csdnimg.cn/blog_migrate/a462c1e554d9d1d98d72dd5ca008c9e0.png)
6. 启动mysql并查看其状态
命令:systemctl start mysqld
命令:systemctl status mysqld
![](https://i-blog.csdnimg.cn/blog_migrate/c4a3fab21bda8e5115b1a5c2a955d6d5.png)
7. 设置mysql为系统服务,随系统启动而启动
命令:systemctl enable mysqld
命令:systemctl daemon-reload
![](https://i-blog.csdnimg.cn/blog_migrate/8bd13adb8081fc71a5f39cecc49595f5.png)
8. 查看mysql下root账号的默认密码
mysql5.7安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql。
命令:grep 'temporary password' /var/log/mysqld.log
其中Jb2h<%lp9itY部分就是默认密码
![](https://i-blog.csdnimg.cn/blog_migrate/1c0f6f560f33caefc046efba12c29bdf.png)
9. 修改配置文件
9.1. 默认配置文件路径
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
9.2. 修改my.cnf文件
9.2.1. 修改密码策略
mysql的密码策略分为三种:
0或LOW:Length
1或MEDIUM:Length; numeric, lowercase/uppercase, and special characters
2或STRONG:Length; numeric, lowercase/uppercase, and special characters; dictionary file
在my.cnf文件中增加如下设置
#如果不需要密码策略,禁用密码策略
validate_password = off
validate_password = off
# 密码选择策略 0-LOW,1-MEDIUM,2-STRONG需要提供密码字典文件
validate_password_policy = 0
validate_password_policy = 0
![](https://i-blog.csdnimg.cn/blog_migrate/7bc3cfbf24356fbb2427c54350489850.png)
9.2.2. 修改字符编码为utf8
在[mysqld]下增加如下配置
character_set_server = utf8
init_connect = 'SET NAMES utf8'
init_connect = 'SET NAMES utf8'
![](https://i-blog.csdnimg.cn/blog_migrate/64acfde8e3a0cb738faa225824818da4.png)
9.2.3. 保存my.cnf并重启mysql服务是配置生效
命令:systemctl restart mysqld
10. 登录mysql
命令:mysql -uroot -p
输入密码:默认为刚才查到的Jb2h<%lp9itY
![](https://i-blog.csdnimg.cn/blog_migrate/803a63d25930406c697b199c4e8e0b33.png)
11. 修改密码
命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
或命令:set password for 'root'@'localhost'=password('12345678');
或命令:set password for 'root'@'localhost'=password('12345678');
![](https://i-blog.csdnimg.cn/blog_migrate/53130633cc350c33b4b839e11df11072.png)
说明:
11.1. 如果之前没有设置密码策略,则密码12345678则不会通过验证,密码修改会失败
![](https://i-blog.csdnimg.cn/blog_migrate/3ac8bcfbf25dd9b8b979668cc3354b29.png)
11.2. 密码修改不成功时则部分功能也无法使用,例如查看密码策略 show variables like '%password%';
![](https://i-blog.csdnimg.cn/blog_migrate/a381dfdb972439597f6f2b847e815086.png)
12. 查看密码策略
命令:show variables like '%password%';
此处为 validate_password = off 设置后的结果
![](https://i-blog.csdnimg.cn/blog_migrate/39db8de25b1667a651739bf450761404.png)
13. 查看字符编码
命令:show variables like '%character%';
![](https://i-blog.csdnimg.cn/blog_migrate/60d036738da07c17a8ab858ab51ade6d.png)
14. 添加远程账户
命令:GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;
命令:FLUSH PRIVILEGES; 使设置生效
![](https://i-blog.csdnimg.cn/blog_migrate/df6797a91e5e314b079cd46e41c87c08.png)
注意:如果数据库是8.0及以上,添加账户和授权必须分开,否则会报语法错误。
CREATE USER 'remote'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';
15. 至此,可以远程连接并操作数据库啦!
16. 补充:开启binlog
在 /etc/my.cnf 文件中增加如下配置。
server-id=举例123,只要是唯一值即可
log-bin=举例mysql-bin,bin文件前缀
log-bin-index=举例mysql-bin.index,索引文件前缀,为log-bin文件名加上.index
设置好后保存,重启Mysql即可。