linux 上安装MySql
一、获取mysql YUM源
打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应linux版本,此处下载最新版
点击“No thanks, just start my download.”,进行下载
将下载地址复制,得到rpm包的地址,若链接地址不显示,则选择复制链接地址
二、下载和安装mysql源,wget 加上刚刚复制的地址
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
如果显示wget未找到命令,则需要先安装wget:
yum -y install wget
然后再次执行上面命令
安装mysql源 localinstall 加上自己的安装版本
yum -y localinstall mysql80-community-release-el8-1.noarch.rpm
三、在线安装Mys
yum -y install mysql-community-server,下载的东西比较多要稍微等会;
四、启动mysql
systemctl start mysqld
五、设置开机启动
systemctl enable mysqld
systemctl daemon-reload
六、通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
七、通过 mysql -uroot -p 进入数据库登陆界面,输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的
若正常执行,则直接执行第八步,此处本地执行时,报错
(1). 输入初始密码,报1045错误
错误原因:root用户没有localhost登录的权限
解决方式:
修改 /etc/my.cnf数据库配置文件,在[mysqld]选项中添加:skip-grant-tables
重启mysql :service mysqld restart
使用安全模式登录mysql数据库:mysql –u root –p (输入密码直接按回车,登录成功)。
八、通过 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';命令来修改密码,执行刷新命令flush privileges;
通过 exit; 命令退出 MySQL,然后通过新密码(root)再次登陆
注意修改密码语句,5.7以上版本适用
若修改了my.cn文件,修改密码之后需要将my.cn还原,删除之前添加的skip-grant-tables
若正常执行,则直接执行第九步,此处本地执行时,报错
(1). 修改密码,报1819错误
错误原因:MySQL对设置密码进行了默认的限制,必须符合长度,且必须含有数字,小写或大写字母,特殊字符
解决方式:
修改密码规则(未成功)
制定符合规则的密码格式,我这里直接使用了系统生成的初始密码
在退出之前,执行刷新flush privileges;
九、 通过以下命令,进行远程访问的授权
create user 'root'@'%' identified with mysql_native_password by '你的密码';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
十、输入exit退出,打开防火墙开放3306端口
如果没有开启防火墙
-
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。
-
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。
-
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
-
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
-
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
-
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
- 重启防火墙firewall-cmd --reload
8. 查看已经开放的端口: firewall-cmd --list-ports
如果防火墙已开启,直接执行firewall-cmd --permanent --zone=public --add-port=3306/tcp
十一、 配置默认编码为UTF-8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
character_set_server=utf8
init_connect='SET NAMES utf8'
十二. 编辑保存完重启mysql服务: systemctl restart mysqld
十三、 查看下编码:mysql> show variables like '%character%';
十四、如果是使用阿里云服务,需要在安全规则组打开3306端口:
管理实例--->安全组规则
十五、最后,使用工具即可链接成功: