MySQL学习里程(一)
因为实际应用MySQL是在服务器上面而不是Windows,故以CentOS7及MySQL5.7为例进行安装
一、MySQL下载安装
# 进入存放软件包的目录执行下面语句进行下载
> wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 解压安装
> yum -y install mysql57-community-release-el7-10.noarch.rpm
# 安装MySQL服务器
> yum -y install mysql-community-server
二、MySQL数据库配置
(1)启动MySQL服务
# 启动mysql服务
> systemctl start mysqld.service
# 查看MySQL运行状态
> systemctl status mysqld.service
可见MySQL已经运行,如果报错:Unit mysql.service could not be found
则参考解决方案 https://blog.csdn.net/oZuoShen123/article/details/105755964/
(2)修改初始密码
自MySQL5.7开始必须要先修改初始密码才能进入数据库进行操作
# 查看数据库初始密码
> grep "password" /var/log/mysqld.log
# 上图画圈部分为数据库初始密码
# 进入数据库
> mysql -uroot -p
> 输入初始密码
# 修改数据库密码
> alter user 'root'@'localhost' identified by '你的密码';
如果报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 如果出现如上图所示的报错则依次执行以下语句,注意命令要带上分号
> set global validate_password_policy=0;
> set global validate_password_length=1;
# 最后再次执行修改密码语句
> alter user 'root'@'localhost' identified by '你的密码';
可见密码修改成功
(3)开启远程访问
# 下面命令开启的IP是 192.168.0.5,如要开启所有的,用 % 代替IP
> grant all privileges on *.* to 'root'@'192.168.0.5' identified by '你的密码' with grant option;
# 所有IP可远程访问
> grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;
# 更新数据库权限
> flush privileges;
# 退出
> exit
(4)开放端口3306
# 防火墙放开3306端口
> firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重载防火墙
> firewall-cmd --reload
# 查看防火墙已放开的端口
> firewall-cmd --list-all
可见3306端口已经放开
PS:如果是在服务器安装MySQL,则还需要到服务器控制台打开3306端口才行
(4)修改MySQL编码格式
如果不修改,则MySQL数据库插入中文字符会报错
- 修改my.cnf文件
> vim /etc/my.cnf
# 或者
> vi /etc/my.cnf
# 在[mysqld]下加入以下内容
character_set_server=utf8
# 保存退出
> wq
- 重启MySQL
【Warning】这里如果使用service mysqld restart重启MySQL服务可能会报错如下信息
# 使用systemctl restart mysqld.service命令重启MySQL
> systemctl restart mysqld.service
# 或者使用以下命令重启MySQL
> systemctl stop mysqld.service
> systemctl start mysqld.service
# 再次进入MySQL
> mysql -uroot -p
# 查看MySQL默认编码
> show variables like 'character_set_%';
可见MySQL默认编码修改成功
三、MySQL的可视化工具
(1)下载MySQL的可视化工具
实际开发中,我们不可能在命令行操作数据库,这样会很不方便,所以我们需要数据库可视化工具,这里推荐使用Navicat
下载地址: hhttps://www.navicat.com.cn/products
建议下载 Navicat Premium 15,因为实际的开发人员不可能只针对MySQL一种数据库,还有MongoDB非关系数据库等 ,使用Navicat Premium 15可一次性充当这些数据库的可视化工具,就不用安装多个可视化工具占用电脑资源,当然你也可以下载 Navicat 15 for MySQL